Class ArrayExpansionPropertyInfo

java.lang.Object
gw.internal.gosu.parser.ArrayExpansionPropertyInfo
All Implemented Interfaces:
IExpansionPropertyInfo, IAnnotatedFeatureInfo, IAttributedFeatureInfo, IFeatureInfo, IIntrinsicTypeReference, IPropertyInfo

public class ArrayExpansionPropertyInfo extends Object implements IExpansionPropertyInfo
  • Field Details

  • Constructor Details

    • ArrayExpansionPropertyInfo

      public ArrayExpansionPropertyInfo(IPropertyInfo delegate)
  • 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.
    • 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.
    • 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
    • isScriptable

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

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

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

      public boolean isDefaultImpl()
      Specified by:
      isDefaultImpl in interface IAnnotatedFeatureInfo
      Returns:
      True if this feature is the default implementation e.g., default interface method
    • isVisible

      public boolean isVisible(IScriptabilityModifier constraint)
      Description copied from interface: IAttributedFeatureInfo
      Determine if this feature is visible given a visibility constraint.

      NOTE: implementers of this method are responsible for handling the null case, taken to mean that there are not scriptability constraints.

      Specified by:
      isVisible in interface IAttributedFeatureInfo
    • isHidden

      public boolean isHidden()
      Description copied from interface: IAttributedFeatureInfo
      True if this feature is hidden. Hidden feature should not to be exposed to earthlings.
      Specified by:
      isHidden in interface IAttributedFeatureInfo
    • 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
    • isPrivate

      public boolean isPrivate()
      Description copied from interface: IAttributedFeatureInfo
      True if this feature is private. Private features are only accessible from within the type that owns them.
      Specified by:
      isPrivate in interface IAttributedFeatureInfo
    • isInternal

      public boolean isInternal()
      Description copied from interface: IAttributedFeatureInfo
      True if this feature is internal. Internal features are accessible from within the type that owns them and from other types in the same namespace.
      Specified by:
      isInternal in interface IAttributedFeatureInfo
    • isProtected

      public boolean isProtected()
      Description copied from interface: IAttributedFeatureInfo
      True if this feature is protected. Protected features are accessible from within the type that owns them and from derived containers.
      Specified by:
      isProtected in interface IAttributedFeatureInfo
    • isPublic

      public boolean isPublic()
      Description copied from interface: IAttributedFeatureInfo
      True if this feature is public. Public features are not restricted.
      Specified by:
      isPublic in interface IAttributedFeatureInfo
    • isAbstract

      public boolean isAbstract()
      Specified by:
      isAbstract in interface IAttributedFeatureInfo
    • isFinal

      public boolean isFinal()
      Specified by:
      isFinal in interface IAttributedFeatureInfo
    • isReified

      public boolean isReified()
      Specified by:
      isReified in interface IAttributedFeatureInfo
    • getAnnotations

      public List<IAnnotationInfo> getAnnotations()
      Specified by:
      getAnnotations in interface IAnnotatedFeatureInfo
      Returns:
      A map of AnnotationInfo objects by type representing all the annotations associated with this feature and all the features in its ancestry, or an empty map if there are no annotations.
    • 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.
    • getAnnotationsOfType

      public List<IAnnotationInfo> getAnnotationsOfType(IType type)
      Specified by:
      getAnnotationsOfType in interface IAnnotatedFeatureInfo
      Returns:
      A list of AnnotationInfo objects having the specified type.
    • getAnnotation

      public IAnnotationInfo getAnnotation(IType type)
      Specified by:
      getAnnotation in interface IAnnotatedFeatureInfo
      Returns:
      An AnnotationInfo object having the specified type, or null if no such AnnotationInfo exists.
    • hasAnnotation

      public boolean hasAnnotation(IType type)
      Specified by:
      hasAnnotation in interface IAnnotatedFeatureInfo
      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
    • hasDeclaredAnnotation

      public boolean hasDeclaredAnnotation(IType type)
      Specified by:
      hasDeclaredAnnotation in interface IAnnotatedFeatureInfo
      Parameters:
      type - The type of the annotation to test for existence.
      Returns:
      true If this feature has a declared annotation of the given type, false otherwise
    • getContainer

      public IFeatureInfo getContainer()
      Description copied from interface: IFeatureInfo
      Get this feature's containing feature. May be null.
      Specified by:
      getContainer in interface IFeatureInfo
    • getOwnersType

      public IType getOwnersType()
      Description copied from interface: IFeatureInfo
      Get this feature's owner's type. If this feature has no owner, this is the type of the feature itself. Typically, the only kind of feature w/o an owner is an ITypeInfo, so properties, methods, params, etc. s/b considered owned. Hence, ultimately an ITypeInfo's type will be the owner's type for any given feature.
      Specified by:
      getOwnersType in interface IFeatureInfo
    • 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
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: IFeatureInfo
      Gets the display name of this feature. There is no guarantee this display name is localized.
      Specified by:
      getDisplayName in interface IFeatureInfo
    • getDescription

      public String getDescription()
      Description copied from interface: IFeatureInfo
      A full description of this feature.
      Specified by:
      getDescription in interface IFeatureInfo
    • getFeatureType

      public IType getFeatureType()
      Make an array type from the delegate's type, if it's not already an array. The idea with array expansion is to allow access to properties of X from an array of X. We call the accessor For each X in the array we call the
      Specified by:
      getFeatureType in interface IIntrinsicTypeReference
    • getDelegate

      public IPropertyInfo getDelegate()
      Specified by:
      getDelegate in interface IExpansionPropertyInfo