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
public class StaticPropertyInfo extends BaseFeatureInfo implements IPropertyInfo
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classStaticPropertyInfo.StaticAccessor-
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
Fields Modifier and Type Field Description private IPropertyAccessor_accessorprivate java.lang.String_deprecatedprivate java.lang.reflect.Method_getterprivate IType_propertyTypeprivate java.lang.reflect.Method_setterprivate java.lang.String_strNameprivate IType_type-
Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
-
Constructor Summary
Constructors Constructor Description StaticPropertyInfo(IFeatureInfo container, IType type, IType propertyType, java.lang.String strName, java.lang.String strGetter, java.lang.String strSetter, java.lang.String deprecated)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IPropertyAccessorgetAccessor()java.util.List<IAnnotationInfo>getDeclaredAnnotations()java.lang.StringgetDeprecatedReason()ITypegetFeatureType()The type of this feature e.g., for a property this is the property's type.java.lang.StringgetName()Gets the programmatic name or identifier of this feature.IPresentationInfogetPresentationInfo()booleanisDeprecated()booleanisReadable()booleanisScriptable()True if this feature is exposed for scripting.booleanisStatic()True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.booleanisWritable()booleanisWritable(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 Detail
-
_getter
private java.lang.reflect.Method _getter
-
_setter
private java.lang.reflect.Method _setter
-
_propertyType
private IType _propertyType
-
_strName
private java.lang.String _strName
-
_deprecated
private java.lang.String _deprecated
-
_type
private IType _type
-
_accessor
private IPropertyAccessor _accessor
-
-
Constructor Detail
-
StaticPropertyInfo
StaticPropertyInfo(IFeatureInfo container, IType type, IType propertyType, java.lang.String strName, java.lang.String strGetter, java.lang.String strSetter, java.lang.String deprecated) throws java.lang.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:
java.lang.NoSuchMethodException
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:IFeatureInfoGets 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:
getNamein interfaceIFeatureInfo
-
getFeatureType
public IType getFeatureType()
Description copied from interface:IIntrinsicTypeReferenceThe type of this feature e.g., for a property this is the property's type.- Specified by:
getFeatureTypein interfaceIIntrinsicTypeReference
-
getDeclaredAnnotations
public java.util.List<IAnnotationInfo> getDeclaredAnnotations()
- Specified by:
getDeclaredAnnotationsin 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:IAttributedFeatureInfoTrue if this feature is exposed for scripting.- Specified by:
isScriptablein interfaceIAttributedFeatureInfo- Overrides:
isScriptablein classBaseFeatureInfo
-
isStatic
public boolean isStatic()
Description copied from interface:IAttributedFeatureInfoTrue if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.- Specified by:
isStaticin interfaceIAttributedFeatureInfo
-
isReadable
public boolean isReadable()
- Specified by:
isReadablein interfaceIPropertyInfo- Returns:
- true if the property is readable given the visibility constraint passed in, false otherwise.
-
isWritable
public boolean isWritable(IType whosAskin)
- Specified by:
isWritablein 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:
isWritablein interfaceIPropertyInfo- Returns:
- True if the property is writable given the visibility constraint passed in, false otherwise.
-
isDeprecated
public boolean isDeprecated()
- Specified by:
isDeprecatedin interfaceIAnnotatedFeatureInfo- Overrides:
isDeprecatedin classBaseFeatureInfo- Returns:
- True if this feature is deprecated.
-
getDeprecatedReason
public java.lang.String getDeprecatedReason()
- Specified by:
getDeprecatedReasonin interfaceIAnnotatedFeatureInfo- Overrides:
getDeprecatedReasonin classBaseFeatureInfo- Returns:
- The deprecation message, or null if the feature is not deprecated.
-
getAccessor
public IPropertyAccessor getAccessor()
- Specified by:
getAccessorin interfaceIPropertyInfo- Returns:
- the PropertyAccessor (for getting and setting) this property.
-
getPresentationInfo
public IPresentationInfo getPresentationInfo()
- Specified by:
getPresentationInfoin interfaceIPropertyInfo
-
-