Package gw.lang.reflect
Class FeatureManager<T extends CharSequence>
java.lang.Object
gw.lang.reflect.FeatureManager<T>
- Direct Known Subclasses:
GosuClassTypeInfo.MyFeatureManager
,JavaTypeInfo.JavaFeatureManager
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
private final boolean
private List<IConstructorInfo>[]
private FeatureManager.InitState
private Map<IModule,
MethodList[]> private Map<IModule,
FeatureManager.InitState> private Map<IModule,
PropertyNameMap<T>[]> private Map<IModule,
FeatureManager.InitState> private String
private IType
private IRelativeTypeInfo
-
Constructor Summary
ConstructorsConstructorDescriptionFeatureManager
(IRelativeTypeInfo typeInfo, boolean caseSensitive) FeatureManager
(IRelativeTypeInfo typeInfo, boolean caseSensitive, boolean addObjectMethods) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addEnhancementMethods
(List<IMethodInfo> privateMethods) protected void
addEnhancementProperties
(PropertyNameMap<T> privateProps, boolean caseSensitive) protected boolean
areMethodParamsEqual
(IType thisMethodParamType, IType superMethodParamType) private boolean
void
clear()
private void
private void
private void
clearMethods
(IModule module) private void
clearProperties
(IModule module) private T
private PropertyNameMap<T>
convertToMap
(List<IPropertyInfo> features) protected IType
convertType
(IType type) private List
filterFeatures
(List props, IRelativeTypeInfo.Accessibility accessibility) getAccessibilityForClass
(IType ownersClass, IType whosAskin) getConstructor
(IRelativeTypeInfo.Accessibility accessibility, IType[] params) List<? extends IConstructorInfo>
getConstructors
(IRelativeTypeInfo.Accessibility accessibility) getMethod
(IRelativeTypeInfo.Accessibility accessibility, CharSequence methodName, IType... params) getMethods
(IRelativeTypeInfo.Accessibility accessibility) getProperties
(IRelativeTypeInfo.Accessibility accessibility) getProperty
(IRelativeTypeInfo.Accessibility accessibility, CharSequence propName) private IType
private static String
private static String
getTopLevelTypeName
(IType type) static boolean
isFeatureAccessible
(IAttributedFeatureInfo property, IRelativeTypeInfo.Accessibility accessibility) static boolean
isInEnclosingClassHierarchy
(IType ownersClass, IType whosAskin) protected static boolean
isInEnhancedTypesHierarchy
(IType ownersClass, IType whosAskin) protected static boolean
isInHierarchy
(IType ownersClass, IType whosAskin) static boolean
isInSameNamespace
(IType ownersClass, IType whosAskin) protected void
protected void
protected void
protected void
mergeMethod
(MethodList methods, IMethodInfo thisMethodInfo, boolean replace) protected void
mergeMethods
(MethodList methods, IType type, boolean replace) protected void
mergeProperties
(PropertyNameMap<T> props, IType type, boolean replace) protected void
mergeProperty
(PropertyNameMap<T> props, IPropertyInfo propertyInfo, boolean replace) private IType[]
removeGenericMethodParameters
(IMethodInfo thisMethodInfo) void
setSuperPropertyPrefix
(String superPropertyPrefix) void
setSupertypeToCopyPropertiesFrom
(IType supertypeToCopyPropertiesFrom) private boolean
shouldReplace
(PropertyNameMap<T> props, T cs, IPropertyInfo propertyInfo) toString()
-
Field Details
-
_caseSensitive
private final boolean _caseSensitive -
_addObjectMethods
private final boolean _addObjectMethods -
_typeInfo
-
_methodsInitialized
-
_propertiesInitialized
-
_ctorsInitialized
-
_properties
-
_methods
-
_constructors
-
_superPropertyPrefix
-
_supertypeToCopyPropertiesFrom
-
-
Constructor Details
-
FeatureManager
-
FeatureManager
-
-
Method Details
-
getAccessibilityForClass
public static IRelativeTypeInfo.Accessibility getAccessibilityForClass(IType ownersClass, IType whosAskin) -
isInSameNamespace
-
getTopLevelEnclosingClassNamespace
-
isInEnclosingClassHierarchy
-
isInEnhancedTypesHierarchy
-
isInHierarchy
-
getTopLevelTypeName
-
isFeatureAccessible
public static boolean isFeatureAccessible(IAttributedFeatureInfo property, IRelativeTypeInfo.Accessibility accessibility) -
clear
public void clear() -
clearMaps
private void clearMaps() -
clearProperties
-
clearMethods
-
clearCtors
private void clearCtors() -
getProperties
-
getProperty
public IPropertyInfo getProperty(IRelativeTypeInfo.Accessibility accessibility, CharSequence propName) -
convertCharSequenceToCorrectSensitivity
-
getMethods
-
getMethod
public IMethodInfo getMethod(IRelativeTypeInfo.Accessibility accessibility, CharSequence methodName, IType... params) -
getConstructors
public List<? extends IConstructorInfo> getConstructors(IRelativeTypeInfo.Accessibility accessibility) -
getConstructor
public IConstructorInfo getConstructor(IRelativeTypeInfo.Accessibility accessibility, IType[] params) -
maybeInitMethods
protected void maybeInitMethods() -
maybeInitProperties
protected void maybeInitProperties() -
getSuperType
-
maybeInitConstructors
protected void maybeInitConstructors() -
convertType
-
addEnhancementMethods
-
addEnhancementProperties
-
setSuperPropertyPrefix
-
setSupertypeToCopyPropertiesFrom
-
convertToMap
-
filterFeatures
-
mergeProperties
-
mergeProperty
-
shouldReplace
-
mergeMethods
-
mergeMethod
-
removeGenericMethodParameters
-
areMethodParamsEqual
-
argsEqual
-
toString
-