Package gw.internal.gosu.dynamic
Class DynamicPropertyInfo
- java.lang.Object
-
- gw.lang.reflect.PropertyInfoBase
-
- gw.internal.gosu.dynamic.DynamicPropertyInfo
-
- All Implemented Interfaces:
IAnnotatedFeatureInfo
,IAttributedFeatureInfo
,IFeatureInfo
,IIntrinsicTypeReference
,IPropertyAccessor
,IPropertyInfo
public class DynamicPropertyInfo extends PropertyInfoBase implements IPropertyAccessor
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
IAnnotatedFeatureInfo.IAnnotationInfoHelper
-
Nested classes/interfaces inherited from interface gw.lang.reflect.IAttributedFeatureInfo
IAttributedFeatureInfo.MODIFIER
-
-
Field Summary
-
Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IPropertyAccessor
getAccessor()
List<IAnnotationInfo>
getDeclaredAnnotations()
IType
getFeatureType()
The type of this feature e.g., for a property this is the property's type.String
getName()
Gets the programmatic name or identifier of this feature.Object
getValue(Object ctx)
Returns the value for a property given a "this" objectboolean
hasAnnotation(IType type)
boolean
isReadable()
boolean
isWritable(IType whosAskin)
void
setValue(Object ctx, Object value)
Sets the property to the given value for the ctx object-
Methods inherited from class gw.lang.reflect.PropertyInfoBase
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getDeprecatedReason, getDescription, getDisplayName, getOwnersType, getPresentationInfo, hasDeclaredAnnotation, isAbstract, isDefaultImpl, isDeprecated, isFinal, isHidden, isInternal, isPrivate, isProtected, isPublic, isScriptable, isStatic, isVisible, isWritable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface gw.lang.reflect.IAttributedFeatureInfo
isReified
-
Methods inherited from interface gw.lang.reflect.IFeatureInfo
getLocationInfo
-
Methods inherited from interface gw.lang.reflect.IIntrinsicTypeReference
getAssignableFeatureType
-
Methods inherited from interface gw.lang.reflect.IPropertyInfo
isReadable
-
-
-
-
Method Detail
-
isReadable
public boolean isReadable()
- Specified by:
isReadable
in interfaceIPropertyInfo
- Returns:
- true if the property is readable given the visibility constraint passed in, false otherwise.
-
isWritable
public boolean isWritable(IType whosAskin)
- Specified by:
isWritable
in interfaceIPropertyInfo
- Parameters:
whosAskin
- The type querying the property writability. For example, passing in the type the property is on will allow properties that have private access in the setter to be written to. Passing in an unrelated type will only allow properties that are to be written to.- Returns:
- True if the property is writable given the visibility constraint passed in, false otherwise.
-
getAccessor
public IPropertyAccessor getAccessor()
- Specified by:
getAccessor
in interfaceIPropertyInfo
- Returns:
- the PropertyAccessor (for getting and setting) this property.
-
getFeatureType
public IType getFeatureType()
Description copied from interface:IIntrinsicTypeReference
The type of this feature e.g., for a property this is the property's type.- Specified by:
getFeatureType
in interfaceIIntrinsicTypeReference
-
getDeclaredAnnotations
public List<IAnnotationInfo> getDeclaredAnnotations()
- Specified by:
getDeclaredAnnotations
in interfaceIAnnotatedFeatureInfo
- Returns:
- A map of AnnotationInfo objects by type representing all the annotations associated with this feature, or an empty map if there are no annotations.
-
hasAnnotation
public boolean hasAnnotation(IType type)
- Specified by:
hasAnnotation
in interfaceIAnnotatedFeatureInfo
- Overrides:
hasAnnotation
in classPropertyInfoBase
- Parameters:
type
- The type of the annotation to test for existence.- Returns:
- true If this feature has an annotation with of the given type, false otherwise
-
getName
public String getName()
Description copied from interface:IFeatureInfo
Gets the programmatic name or identifier of this feature. Note this name should follow Java identifier naming conventions (alpha-num and underscores, but can't start with a digit).- Specified by:
getName
in interfaceIFeatureInfo
-
getValue
public Object getValue(Object ctx)
Description copied from interface:IPropertyAccessor
Returns the value for a property given a "this" object- Specified by:
getValue
in interfaceIPropertyAccessor
- Parameters:
ctx
- the "this" pointer.- Returns:
- the value of the property for the ctx object
-
setValue
public void setValue(Object ctx, Object value)
Description copied from interface:IPropertyAccessor
Sets the property to the given value for the ctx object- Specified by:
setValue
in interfaceIPropertyAccessor
- Parameters:
ctx
- the "this" pointervalue
- the new value
-
-