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 booleanprivate final booleanprivate List<IConstructorInfo>[]private FeatureManager.InitStateprivate Map<IModule,MethodList[]> private Map<IModule,FeatureManager.InitState> private Map<IModule,PropertyNameMap<T>[]> private Map<IModule,FeatureManager.InitState> private Stringprivate ITypeprivate IRelativeTypeInfo -
Constructor Summary
ConstructorsConstructorDescriptionFeatureManager(IRelativeTypeInfo typeInfo, boolean caseSensitive) FeatureManager(IRelativeTypeInfo typeInfo, boolean caseSensitive, boolean addObjectMethods) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddEnhancementMethods(List<IMethodInfo> privateMethods) protected voidaddEnhancementProperties(PropertyNameMap<T> privateProps, boolean caseSensitive) protected booleanareMethodParamsEqual(IType thisMethodParamType, IType superMethodParamType) private booleanvoidclear()private voidprivate voidprivate voidclearMethods(IModule module) private voidclearProperties(IModule module) private Tprivate PropertyNameMap<T>convertToMap(List<IPropertyInfo> features) protected ITypeconvertType(IType type) private ListfilterFeatures(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 ITypeprivate static Stringprivate static StringgetTopLevelTypeName(IType type) static booleanisFeatureAccessible(IAttributedFeatureInfo property, IRelativeTypeInfo.Accessibility accessibility) static booleanisInEnclosingClassHierarchy(IType ownersClass, IType whosAskin) protected static booleanisInEnhancedTypesHierarchy(IType ownersClass, IType whosAskin) protected static booleanisInHierarchy(IType ownersClass, IType whosAskin) static booleanisInSameNamespace(IType ownersClass, IType whosAskin) protected voidprotected voidprotected voidprotected voidmergeMethod(MethodList methods, IMethodInfo thisMethodInfo, boolean replace) protected voidmergeMethods(MethodList methods, IType type, boolean replace) protected voidmergeProperties(PropertyNameMap<T> props, IType type, boolean replace) protected voidmergeProperty(PropertyNameMap<T> props, IPropertyInfo propertyInfo, boolean replace) private IType[]removeGenericMethodParameters(IMethodInfo thisMethodInfo) voidsetSuperPropertyPrefix(String superPropertyPrefix) voidsetSupertypeToCopyPropertiesFrom(IType supertypeToCopyPropertiesFrom) private booleanshouldReplace(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
-