Package gw.internal.gosu.parser
Class ArrayExpansionPropertyInfo
java.lang.Object
gw.internal.gosu.parser.ArrayExpansionPropertyInfo
- All Implemented Interfaces:
IExpansionPropertyInfo
,IAnnotatedFeatureInfo
,IAttributedFeatureInfo
,IFeatureInfo
,IIntrinsicTypeReference
,IPropertyInfo
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class
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
FieldsFields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetAnnotation
(IType type) getAnnotationsOfType
(IType type) Get this feature's containing feature.A full description of this feature.Gets the display name of this feature.Make an array type from the delegate's type, if it's not already an array.getName()
Gets the programmatic name or identifier of this feature.Get this feature's owner's type.boolean
hasAnnotation
(IType type) boolean
hasDeclaredAnnotation
(IType type) boolean
boolean
boolean
boolean
isFinal()
boolean
isHidden()
True if this feature is hidden.boolean
True if this feature is internal.boolean
True if this feature is private.boolean
True if this feature is protected.boolean
isPublic()
True if this feature is public.boolean
boolean
boolean
True if this feature is exposed for scripting.boolean
isStatic()
True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.boolean
isVisible
(IScriptabilityModifier constraint) Determine if this feature is visible given a visibility constraint.boolean
boolean
isWritable
(IType whosAskin) 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.IFeatureInfo
getLocationInfo
Methods inherited from interface gw.lang.reflect.IIntrinsicTypeReference
getAssignableFeatureType
Methods inherited from interface gw.lang.reflect.IPropertyInfo
isReadable
-
Field Details
-
_delegate
-
_arrayExpansionAccessor
-
-
Constructor Details
-
ArrayExpansionPropertyInfo
-
-
Method Details
-
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
- 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.
-
isWritable
public boolean isWritable()- Specified by:
isWritable
in interfaceIPropertyInfo
- Returns:
- True if the property is writable given the visibility constraint passed in, false otherwise.
-
getAccessor
- Specified by:
getAccessor
in interfaceIPropertyInfo
- Returns:
- the PropertyAccessor (for getting and setting) this property.
-
getPresentationInfo
- Specified by:
getPresentationInfo
in interfaceIPropertyInfo
-
isScriptable
public boolean isScriptable()Description copied from interface:IAttributedFeatureInfo
True if this feature is exposed for scripting.- Specified by:
isScriptable
in interfaceIAttributedFeatureInfo
-
isDeprecated
public boolean isDeprecated()- Specified by:
isDeprecated
in interfaceIAnnotatedFeatureInfo
- Returns:
- True if this feature is deprecated.
-
getDeprecatedReason
- Specified by:
getDeprecatedReason
in interfaceIAnnotatedFeatureInfo
- Returns:
- The deprecation message, or null if the feature is not deprecated.
-
isDefaultImpl
public boolean isDefaultImpl()- Specified by:
isDefaultImpl
in interfaceIAnnotatedFeatureInfo
- Returns:
- True if this feature is the default implementation e.g., default interface method
-
isVisible
Description copied from interface:IAttributedFeatureInfo
Determine if this feature is visible given a visibility constraint.- Specified by:
isVisible
in interfaceIAttributedFeatureInfo
-
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 interfaceIAttributedFeatureInfo
-
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 interfaceIAttributedFeatureInfo
-
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 interfaceIAttributedFeatureInfo
-
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 interfaceIAttributedFeatureInfo
-
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 interfaceIAttributedFeatureInfo
-
isPublic
public boolean isPublic()Description copied from interface:IAttributedFeatureInfo
True if this feature is public. Public features are not restricted.- Specified by:
isPublic
in interfaceIAttributedFeatureInfo
-
isAbstract
public boolean isAbstract()- Specified by:
isAbstract
in interfaceIAttributedFeatureInfo
-
isFinal
public boolean isFinal()- Specified by:
isFinal
in interfaceIAttributedFeatureInfo
-
isReified
public boolean isReified()- Specified by:
isReified
in interfaceIAttributedFeatureInfo
-
getAnnotations
- Specified by:
getAnnotations
in interfaceIAnnotatedFeatureInfo
- 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
- 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.
-
getAnnotationsOfType
- Specified by:
getAnnotationsOfType
in interfaceIAnnotatedFeatureInfo
- Returns:
- A list of AnnotationInfo objects having the specified type.
-
getAnnotation
- Specified by:
getAnnotation
in interfaceIAnnotatedFeatureInfo
- Returns:
- An AnnotationInfo object having the specified type, or null if no such AnnotationInfo exists.
-
hasAnnotation
- Specified by:
hasAnnotation
in interfaceIAnnotatedFeatureInfo
- 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
- Specified by:
hasDeclaredAnnotation
in interfaceIAnnotatedFeatureInfo
- 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
Description copied from interface:IFeatureInfo
Get this feature's containing feature. May be null.- Specified by:
getContainer
in interfaceIFeatureInfo
-
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 interfaceIFeatureInfo
-
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
-
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 interfaceIFeatureInfo
-
getDescription
Description copied from interface:IFeatureInfo
A full description of this feature.- Specified by:
getDescription
in interfaceIFeatureInfo
-
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 interfaceIIntrinsicTypeReference
-
getDelegate
- Specified by:
getDelegate
in interfaceIExpansionPropertyInfo
-