Class StaticPropertyInfo

java.lang.Object
gw.lang.reflect.BaseFeatureInfo
gw.internal.gosu.parser.StaticPropertyInfo
All Implemented Interfaces:
IAnnotatedFeatureInfo, IAttributedFeatureInfo, IFeatureInfo, IIntrinsicTypeReference, IPropertyInfo

public class StaticPropertyInfo extends BaseFeatureInfo implements IPropertyInfo
  • Field Details

    • _getter

      private Method _getter
    • _setter

      private Method _setter
    • _propertyType

      private IType _propertyType
    • _strName

      private String _strName
    • _deprecated

      private String _deprecated
    • _type

      private IType _type
    • _accessor

      private IPropertyAccessor _accessor
  • Constructor Details

    • StaticPropertyInfo

      StaticPropertyInfo(IFeatureInfo container, IType type, IType propertyType, String strName, String strGetter, String strSetter, String deprecated) throws NoSuchMethodException
      Parameters:
      container - Typically the ITypeInfo instance exposing this property
      type - This is the IType class having the method[s] you want to expose as a static property e.g., TypeListIntrinsicType.getTypeKeys().
      propertyType - This is the type of the property. You only need to set this if you want to override the getter method's return type. Otherwise set this to null.
      strName - The name for the property.
      strGetter - The name of the getter method defined in the IType impl.
      strSetter - Optional setter method name.
      deprecated - The property's deprecation message, or null if the property is not deprecated.
      Throws:
      NoSuchMethodException
  • Method Details

    • 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
    • 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.
    • isScriptable

      public boolean isScriptable()
      Description copied from interface: IAttributedFeatureInfo
      True if this feature is exposed for scripting.
      Specified by:
      isScriptable in interface IAttributedFeatureInfo
      Overrides:
      isScriptable in class BaseFeatureInfo
    • isStatic

      public boolean isStatic()
      Description copied from interface: IAttributedFeatureInfo
      True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.
      Specified by:
      isStatic in interface IAttributedFeatureInfo
    • 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.
    • isWritable

      public boolean isWritable()
      Specified by:
      isWritable in interface IPropertyInfo
      Returns:
      True if the property is writable given the visibility constraint passed in, false otherwise.
    • isDeprecated

      public boolean isDeprecated()
      Specified by:
      isDeprecated in interface IAnnotatedFeatureInfo
      Overrides:
      isDeprecated in class BaseFeatureInfo
      Returns:
      True if this feature is deprecated.
    • getDeprecatedReason

      public String getDeprecatedReason()
      Specified by:
      getDeprecatedReason in interface IAnnotatedFeatureInfo
      Overrides:
      getDeprecatedReason in class BaseFeatureInfo
      Returns:
      The deprecation message, or null if the feature is not deprecated.
    • getAccessor

      public IPropertyAccessor getAccessor()
      Specified by:
      getAccessor in interface IPropertyInfo
      Returns:
      the PropertyAccessor (for getting and setting) this property.
    • getPresentationInfo

      public IPresentationInfo getPresentationInfo()
      Specified by:
      getPresentationInfo in interface IPropertyInfo