Package gw.lang.reflect
Class PropertyInfoDelegate
- java.lang.Object
-
- gw.lang.reflect.PropertyInfoDelegate
-
- All Implemented Interfaces:
IAnnotatedFeatureInfo,IAttributedFeatureInfo,IFeatureInfo,IFeatureInfoDelegate,IIntrinsicTypeReference,IPropertyInfo,IPropertyInfoDelegate
- Direct Known Subclasses:
MetaPropertyInfoDelegate
public class PropertyInfoDelegate extends Object implements IPropertyInfoDelegate
-
-
Nested Class Summary
-
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 inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
-
Constructor Summary
Constructors Constructor Description PropertyInfoDelegate(IFeatureInfo container, IPropertyInfo source)PropertyInfoDelegate(IFeatureInfo container, IPropertyInfo source, String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IPropertyAccessorgetAccessor()IAnnotationInfogetAnnotation(IType type)List<IAnnotationInfo>getAnnotations()List<IAnnotationInfo>getAnnotationsOfType(IType type)IFeatureInfogetContainer()Get this feature's containing feature.List<IAnnotationInfo>getDeclaredAnnotations()IPropertyInfogetDelegatePI()StringgetDeprecatedReason()StringgetDescription()A full description of this feature.StringgetDisplayName()Gets the display name of this feature.ITypegetFeatureType()The type of this feature e.g., for a property this is the property's type.StringgetName()Gets the programmatic name or identifier of this feature.ITypegetOwnersType()Get this feature's owner's type.IPresentationInfogetPresentationInfo()IPropertyInfogetSource()booleanhasAnnotation(IType type)booleanhasDeclaredAnnotation(IType type)booleanisAbstract()booleanisDefaultImpl()booleanisDeprecated()booleanisFinal()booleanisHidden()True if this feature is hidden.booleanisInternal()True if this feature is internal.booleanisPrivate()True if this feature is private.booleanisProtected()True if this feature is protected.booleanisPublic()True if this feature is public.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.booleanisVisible(IScriptabilityModifier constraint)Determine if this feature is visible given a visibility constraint.booleanisWritable()booleanisWritable(IType whosAskin)StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.reflect.IAttributedFeatureInfo
isReified
-
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
-
-
-
-
Constructor Detail
-
PropertyInfoDelegate
public PropertyInfoDelegate(IFeatureInfo container, IPropertyInfo source)
-
PropertyInfoDelegate
public PropertyInfoDelegate(IFeatureInfo container, IPropertyInfo source, String name)
-
-
Method Detail
-
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
-
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.
-
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
-
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
-
getName
public 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
-
getDisplayName
public String getDisplayName()
Description copied from interface:IFeatureInfoGets the display name of this feature. There is no guarantee this display name is localized.- Specified by:
getDisplayNamein interfaceIFeatureInfo
-
getDescription
public String getDescription()
Description copied from interface:IFeatureInfoA full description of this feature.- Specified by:
getDescriptionin interfaceIFeatureInfo
-
isHidden
public boolean isHidden()
Description copied from interface:IAttributedFeatureInfoTrue if this feature is hidden. Hidden feature should not to be exposed to earthlings.- Specified by:
isHiddenin interfaceIAttributedFeatureInfo
-
isDeprecated
public boolean isDeprecated()
- Specified by:
isDeprecatedin interfaceIAnnotatedFeatureInfo- Returns:
- True if this feature is deprecated.
-
getDeprecatedReason
public String getDeprecatedReason()
- Specified by:
getDeprecatedReasonin interfaceIAnnotatedFeatureInfo- Returns:
- The deprecation message, or null if the feature is not deprecated.
-
isDefaultImpl
public boolean isDefaultImpl()
- Specified by:
isDefaultImplin interfaceIAnnotatedFeatureInfo- Returns:
- True if this feature is the default implementation e.g., default interface method
-
getContainer
public IFeatureInfo getContainer()
Description copied from interface:IFeatureInfoGet this feature's containing feature. May be null.- Specified by:
getContainerin interfaceIFeatureInfo
-
getOwnersType
public IType getOwnersType()
Description copied from interface:IFeatureInfoGet 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:
getOwnersTypein interfaceIFeatureInfo
-
getAnnotationsOfType
public List<IAnnotationInfo> getAnnotationsOfType(IType type)
- Specified by:
getAnnotationsOfTypein interfaceIAnnotatedFeatureInfo- Returns:
- A list of AnnotationInfo objects having the specified type.
-
hasAnnotation
public boolean hasAnnotation(IType type)
- Specified by:
hasAnnotationin 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
-
getAnnotations
public List<IAnnotationInfo> getAnnotations()
- Specified by:
getAnnotationsin 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.
-
isVisible
public boolean isVisible(IScriptabilityModifier constraint)
Description copied from interface:IAttributedFeatureInfoDetermine 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:
isVisiblein interfaceIAttributedFeatureInfo
-
isScriptable
public boolean isScriptable()
Description copied from interface:IAttributedFeatureInfoTrue if this feature is exposed for scripting.- Specified by:
isScriptablein interfaceIAttributedFeatureInfo
-
isAbstract
public boolean isAbstract()
- Specified by:
isAbstractin interfaceIAttributedFeatureInfo
-
isFinal
public boolean isFinal()
- Specified by:
isFinalin interfaceIAttributedFeatureInfo
-
getSource
public IPropertyInfo getSource()
- Specified by:
getSourcein interfaceIFeatureInfoDelegate- Specified by:
getSourcein interfaceIPropertyInfoDelegate
-
getDeclaredAnnotations
public 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.
-
getAnnotation
public IAnnotationInfo getAnnotation(IType type)
- Specified by:
getAnnotationin interfaceIAnnotatedFeatureInfo- Returns:
- An AnnotationInfo object having the specified type, or null if no such AnnotationInfo exists.
-
hasDeclaredAnnotation
public boolean hasDeclaredAnnotation(IType type)
- Specified by:
hasDeclaredAnnotationin 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
-
isInternal
public boolean isInternal()
Description copied from interface:IAttributedFeatureInfoTrue 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:
isInternalin interfaceIAttributedFeatureInfo
-
isPrivate
public boolean isPrivate()
Description copied from interface:IAttributedFeatureInfoTrue if this feature is private. Private features are only accessible from within the type that owns them.- Specified by:
isPrivatein interfaceIAttributedFeatureInfo
-
isProtected
public boolean isProtected()
Description copied from interface:IAttributedFeatureInfoTrue if this feature is protected. Protected features are accessible from within the type that owns them and from derived containers.- Specified by:
isProtectedin interfaceIAttributedFeatureInfo
-
isPublic
public boolean isPublic()
Description copied from interface:IAttributedFeatureInfoTrue if this feature is public. Public features are not restricted.- Specified by:
isPublicin interfaceIAttributedFeatureInfo
-
getDelegatePI
public IPropertyInfo getDelegatePI()
-
-