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
  • Field Details

    • _strName

      private String _strName
  • Constructor Details

    • DynamicPropertyInfo

      DynamicPropertyInfo(ITypeInfo container, String strName)
  • Method Details

    • isReadable

      public boolean isReadable()
      Specified by:
      isReadable in interface IPropertyInfo
      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 interface IPropertyInfo
      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 interface IPropertyInfo
      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 interface IIntrinsicTypeReference
    • getDeclaredAnnotations

      public List<IAnnotationInfo> getDeclaredAnnotations()
      Specified by:
      getDeclaredAnnotations in interface IAnnotatedFeatureInfo
      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 interface IAnnotatedFeatureInfo
      Overrides:
      hasAnnotation in class PropertyInfoBase
      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 interface IFeatureInfo
    • 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 interface IPropertyAccessor
      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 interface IPropertyAccessor
      Parameters:
      ctx - the "this" pointer
      value - the new value