Package gw.lang.reflect
Class BaseFeatureInfo
java.lang.Object
gw.lang.reflect.BaseFeatureInfo
- All Implemented Interfaces:
IAnnotatedFeatureInfo,IAttributedFeatureInfo,IFeatureInfo
- Direct Known Subclasses:
BaseJavaTypeInfo,BaseTypeInfo,DynamicConstructorInfo,ErrorTypeInfo.UniversalConstructorInfo,ErrorTypeInfo.UniversalMethodInfo,ErrorTypeInfo.UniversalProperty,FunctionTypeInfo,GosuBaseAttributedFeatureInfo,JavaBaseFeatureInfo,JavaMethodParamInfo,MetaTypeTypeInfo,NamespaceTypeInfo,PackagePropertyInfo,PackageTypeInfo,PropertyInfoBuilder.BuiltPropertyInfo,SimpleMethodInfo,SimpleParameterInfo,StaticPropertyInfo,TypeInPackageTypeInfo,TypePropertyInfo
-
Nested Class Summary
Nested classes/interfaces inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
IAnnotatedFeatureInfo.IAnnotationInfoHelperNested classes/interfaces inherited from interface gw.lang.reflect.IAttributedFeatureInfo
IAttributedFeatureInfo.MODIFIER -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<IAnnotationInfo>private IFeatureInfoprivate List<IAnnotationInfo>private Booleanprivate ITypeprivate static final String[]Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddAnnotations(List<IAnnotationInfo> annotations, BaseFeatureInfo fi, Map visitedFeatures) private voidaddAnnotationSuperElement(List<BaseFeatureInfo> infos, IType type) (package private) static <T> List<T>compactAndLockList(List<T> list) getAnnotation(IType type) getAnnotationsOfType(IType type) Returns the list of annotations exactly matching the annotation passed in.Get this feature's containing feature.private List<IAnnotationInfo>A full description of this feature.Gets the display name of this feature.Get this feature's owner's type.static IType[]getParamTypes(IParameterInfo[] parameters) protected Collection<BaseFeatureInfo>booleanhasAnnotation(IType type) booleanhasDeclaredAnnotation(IType type) booleanbooleanbooleanbooleanisFinal()booleanisHidden()True if this feature is hidden.booleanTrue if this feature is internal.booleanbooleanTrue if this feature is private.booleanTrue if this feature is protected.booleanisPublic()True if this feature is public.booleanbooleanTrue if this feature is exposed for scripting.booleanisVisible(IScriptabilityModifier constraint) Determine if this feature is visible given a visibility constraint.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
getDeclaredAnnotationsMethods inherited from interface gw.lang.reflect.IAttributedFeatureInfo
isStaticMethods inherited from interface gw.lang.reflect.IFeatureInfo
getLocationInfo, getName
-
Field Details
-
_intrType
-
_container
-
_deprecated
-
_annotations
-
_internalAPI
-
notInternalNs
-
-
Constructor Details
-
BaseFeatureInfo
-
BaseFeatureInfo
-
-
Method Details
-
getContainer
Description copied from interface:IFeatureInfoGet this feature's containing feature. May be null.- Specified by:
getContainerin interfaceIFeatureInfo
-
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
Description copied from interface:IFeatureInfoA full description of this feature.- Specified by:
getDescriptionin interfaceIFeatureInfo
-
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
Returns the list of annotations exactly matching the annotation passed in. If the annotation is a sub type of the type passed in, this will not return those annotations. This is equivilent to calling getAnnotations().get(type).- Specified by:
getAnnotationsOfTypein interfaceIAnnotatedFeatureInfo- Parameters:
type- the type to look for- Returns:
- A list of AnnotationInfo objects having the specified type.
-
hasAnnotation
- 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
-
getAnnotation
- Specified by:
getAnnotationin interfaceIAnnotatedFeatureInfo- Returns:
- An AnnotationInfo object having the specified type, or null if no such AnnotationInfo exists.
-
hasDeclaredAnnotation
- 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
-
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.
-
addAnnotations
private void addAnnotations(List<IAnnotationInfo> annotations, BaseFeatureInfo fi, Map visitedFeatures) -
isVisible
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
-
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
-
isInternalAPI
public boolean isInternalAPI() -
isAbstract
public boolean isAbstract()- Specified by:
isAbstractin interfaceIAttributedFeatureInfo
-
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceIAttributedFeatureInfo
-
isReified
public boolean isReified()- Specified by:
isReifiedin interfaceIAttributedFeatureInfo
-
isDefaultImpl
public boolean isDefaultImpl()- Specified by:
isDefaultImplin interfaceIAnnotatedFeatureInfo- Returns:
- True if this feature is the default implementation e.g., default interface method
-
isDeprecated
public boolean isDeprecated()- Specified by:
isDeprecatedin interfaceIAnnotatedFeatureInfo- Returns:
- True if this feature is deprecated.
-
getDeprecatedReason
- Specified by:
getDeprecatedReasonin interfaceIAnnotatedFeatureInfo- Returns:
- The deprecation message, or null if the feature is not deprecated.
-
getDeprecatedAnnotation
-
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
-
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
-
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
-
getSuperAnnotatedElements
-
addAnnotationSuperElement
-
toString
-
compactAndLockList
-
getParamTypes
-