Package gw.internal.gosu.parser
Class StaticPropertyInfo
java.lang.Object
gw.lang.reflect.BaseFeatureInfo
gw.internal.gosu.parser.StaticPropertyInfo
- All Implemented Interfaces:
IAnnotatedFeatureInfo
,IAttributedFeatureInfo
,IFeatureInfo
,IIntrinsicTypeReference
,IPropertyInfo
-
Nested Class Summary
Nested ClassesNested 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
FieldsModifier and TypeFieldDescriptionprivate IPropertyAccessor
private String
private Method
private IType
private Method
private String
private IType
Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
Constructor Summary
ConstructorsConstructorDescriptionStaticPropertyInfo
(IFeatureInfo container, IType type, IType propertyType, String strName, String strGetter, String strSetter, String deprecated) -
Method Summary
Modifier and TypeMethodDescriptionThe type of this feature e.g., for a property this is the property's type.getName()
Gets the programmatic name or identifier of this feature.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
boolean
isWritable
(IType whosAskin) Methods inherited from class gw.lang.reflect.BaseFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getDescription, getDisplayName, getOwnersType, getParamTypes, getSuperAnnotatedElements, hasAnnotation, hasDeclaredAnnotation, isAbstract, isDefaultImpl, isFinal, isHidden, isInternal, isInternalAPI, isPrivate, isProtected, isPublic, isReified, isVisible, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, hasAnnotation, hasDeclaredAnnotation, isDefaultImpl
Methods inherited from interface gw.lang.reflect.IAttributedFeatureInfo
isAbstract, isFinal, isHidden, isInternal, isPrivate, isProtected, isPublic, isReified, isVisible
Methods inherited from interface gw.lang.reflect.IFeatureInfo
getContainer, getDescription, getDisplayName, getLocationInfo, getOwnersType
Methods inherited from interface gw.lang.reflect.IIntrinsicTypeReference
getAssignableFeatureType
Methods inherited from interface gw.lang.reflect.IPropertyInfo
isReadable
-
Field Details
-
_getter
-
_setter
-
_propertyType
-
_strName
-
_deprecated
-
_type
-
_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 propertytype
- 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
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
-
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
- 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.
-
isScriptable
public boolean isScriptable()Description copied from interface:IAttributedFeatureInfo
True if this feature is exposed for scripting.- Specified by:
isScriptable
in interfaceIAttributedFeatureInfo
- Overrides:
isScriptable
in classBaseFeatureInfo
-
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
-
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.
-
isDeprecated
public boolean isDeprecated()- Specified by:
isDeprecated
in interfaceIAnnotatedFeatureInfo
- Overrides:
isDeprecated
in classBaseFeatureInfo
- Returns:
- True if this feature is deprecated.
-
getDeprecatedReason
- Specified by:
getDeprecatedReason
in interfaceIAnnotatedFeatureInfo
- Overrides:
getDeprecatedReason
in classBaseFeatureInfo
- Returns:
- The deprecation message, or null if the feature is not deprecated.
-
getAccessor
- Specified by:
getAccessor
in interfaceIPropertyInfo
- Returns:
- the PropertyAccessor (for getting and setting) this property.
-
getPresentationInfo
- Specified by:
getPresentationInfo
in interfaceIPropertyInfo
-