Package com.strobel.reflection
Class ReflectedType<T>
- java.lang.Object
-
- com.strobel.reflection.MemberInfo
-
- com.strobel.reflection.Type<T>
-
- com.strobel.reflection.ReflectedType<T>
-
- All Implemented Interfaces:
java.lang.reflect.AnnotatedElement
,java.lang.reflect.Type
class ReflectedType<T> extends Type<T>
-
-
Field Summary
Fields Modifier and Type Field Description private Type<? super T>
_baseType
private boolean
_completed
private java.util.List<ReflectedConstructor>
_constructors
private MethodBase
_declaringMethod
private Type<?>
_declaringType
private java.util.List<ReflectedField>
_fields
private int
_flags
private java.util.List<GenericParameter<?>>
_genericParameters
private TypeList
_interfaces
private java.util.List<ReflectedMethod>
_methods
private java.lang.String
_name
private java.util.List<ReflectedType<?>>
_nestedTypes
private java.lang.Class<T>
_rawClass
private java.lang.String
_simpleName
private TypeBindings
_typeBindings
private static byte
FLAG_ALL_MEMBERS_RESOLVED
private static byte
FLAG_CONSTRUCTORS_RESOLVED
private static byte
FLAG_FIELDS_RESOLVED
private static byte
FLAG_METHODS_RESOLVED
private static byte
FLAG_NESTED_TYPES_RESOLVED
private static byte
FLAG_RESOLVING_MEMBERS
private static java.util.concurrent.atomic.AtomicIntegerFieldUpdater<ReflectedType>
FLAGS_UPDATER
private static SimpleVisitor<java.lang.reflect.Type,GenericParameter<?>>
GenericParameterFinder
-
Fields inherited from class com.strobel.reflection.Type
Bottom, CACHE, CACHE_LOCK, DefaultBinder, DefaultLookup, Delimiter, EmptyConstructors, EmptyFields, EmptyMembers, EmptyMethods, EmptyObjects, EmptyStrings, EmptyTypes, FilterMethodOverride, FilterName, FilterNameIgnoreCase, FilterRawMember, NullType, PRIMITIVE_TYPES, RESOLVER, TYPE_BINDER, Value
-
Fields inherited from class com.strobel.reflection.MemberInfo
EMPTY_ANNOTATIONS, ENUM_MODIFIER, VARARGS_MODIFIER
-
-
Constructor Summary
Constructors Constructor Description ReflectedType(java.lang.Class<T> rawClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringBuilder
_appendClassName(java.lang.StringBuilder sb, boolean fullName, boolean dottedName)
<P,R>
Raccept(TypeVisitor<P,R> visitor, P parameter)
(package private) void
addConstructor(ReflectedConstructor constructor)
(package private) void
addField(ReflectedField field)
(package private) void
addGenericParameter(GenericParameter<?> genericParameter)
(package private) void
addMethod(ReflectedMethod method)
(package private) void
addNestedType(ReflectedType<?> nestedType)
private boolean
checkFlags(int flags)
private void
clearFlags(int flags)
(package private) void
complete()
private void
completeIfNecessary()
private void
ensureMembersResolved()
(package private) ReflectedConstructor
findConstructor(java.lang.reflect.Constructor<?> rawConstructor)
(package private) ReflectedField
findField(java.lang.reflect.Field rawField)
(package private) GenericParameter<?>
findGenericParameter(java.lang.reflect.TypeVariable<?> typeVariable)
(package private) ReflectedMethod
findMethod(java.lang.reflect.Method rawMethod)
(package private) ReflectedType<?>
findNestedType(java.lang.Class<?> rawClass)
Type<? super T>
getBaseType()
protected ConstructorList
getDeclaredConstructors()
protected FieldList
getDeclaredFields()
protected MethodList
getDeclaredMethods()
protected TypeList
getDeclaredTypes()
MethodBase
getDeclaringMethod()
Type<?>
getDeclaringType()
java.lang.Class<T>
getErasedClass()
TypeList
getExplicitInterfaces()
java.lang.String
getFullName()
(package private) java.util.List<GenericParameter<?>>
getGenericParameters()
Type<?>
getGenericTypeDefinition()
MemberType
getMemberType()
int
getModifiers()
protected TypeBindings
getTypeBindings()
protected Type<?>
makeGenericTypeCore(TypeList typeArguments)
(package private) void
setBaseType(Type<?> baseType)
(package private) void
setDeclaringMethod(MethodBase declaringMethod)
(package private) void
setDeclaringType(Type<?> declaringType)
private void
setFlags(int flags)
(package private) void
setInterfaces(TypeList interfaces)
-
Methods inherited from class com.strobel.reflection.Type
_appendClassDescription, _appendClassSignature, _appendErasedClassSignature, appendBriefDescription, appendDescription, appendErasedDescription, appendErasedSignature, appendGenericSignature, appendSignature, appendSimpleDescription, asSuperTypeOf, bottomType, containsGenericParameter, containsGenericParameters, createArrayType, filterMethodBase, filterPreCalculate, findMembers, forName, forName, getAnnotation, getAnnotations, getCache, getClassFullName, getClassSimpleName, getConstructor, getConstructor, getConstructor, getConstructors, getConstructors, getDeclaredAnnotations, getElementType, getEnumConstants, getEnumNames, getErasedType, getExtendsBound, getField, getField, getFields, getFields, getGenericParameterPosition, getGenericSignature, getGenericTypeParameters, getInterfaces, getInternalName, getKind, getMember, getMember, getMember, getMembers, getMembers, getMembers, getMembers, getMembers, getMembersOfType, getMethod, getMethod, getMethod, getMethods, getMethods, getMethods, getMostSpecificType, getName, getNestedType, getNestedType, getNestedTypes, getNestedTypes, getPackage, getRootElementType, getShortName, getSuperBound, getType, getTypeArguments, getUnderlyingType, getUnderlyingTypeCore, hasElementType, hasExtendsBound, hashCode, hasSuperBound, implementsInterface, invalidateCaches, isAbstract, isAnnotationPresent, isArray, isAssignableFrom, isBoundedType, isClass, isCompoundType, isEnum, isEquivalentTo, isEquivalentTo, isGenericParameter, isGenericType, isGenericTypeDefinition, isInstance, isInterface, isLocalClass, isNested, isPrimitive, isRawType, isSubTypeOf, isSynthetic, isUnbounded, isVisible, isWildcardType, list, list, list, makeArrayType, makeArrayType, makeCompoundType, makeCompoundType, makeExtendsWildcard, makeGenericType, makeGenericType, makeSuperWildcard, makeWildcard, newInstance, nullType, of, of, substitute, toString, tryFind, unboundedWildcard
-
Methods inherited from class com.strobel.reflection.MemberInfo
emptyAnnotations, equals, getAnnotationsByType, getBriefDescription, getDeclaredAnnotation, getDeclaredAnnotationsByType, getDescription, getErasedDescription, getErasedSignature, getReflectedType, getSignature, getSimpleDescription, isFinal, isNonPublic, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
-
-
-
-
Field Detail
-
FLAGS_UPDATER
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<ReflectedType> FLAGS_UPDATER
-
FLAG_METHODS_RESOLVED
private static final byte FLAG_METHODS_RESOLVED
- See Also:
- Constant Field Values
-
FLAG_FIELDS_RESOLVED
private static final byte FLAG_FIELDS_RESOLVED
- See Also:
- Constant Field Values
-
FLAG_CONSTRUCTORS_RESOLVED
private static final byte FLAG_CONSTRUCTORS_RESOLVED
- See Also:
- Constant Field Values
-
FLAG_NESTED_TYPES_RESOLVED
private static final byte FLAG_NESTED_TYPES_RESOLVED
- See Also:
- Constant Field Values
-
FLAG_ALL_MEMBERS_RESOLVED
private static final byte FLAG_ALL_MEMBERS_RESOLVED
- See Also:
- Constant Field Values
-
FLAG_RESOLVING_MEMBERS
private static final byte FLAG_RESOLVING_MEMBERS
- See Also:
- Constant Field Values
-
_name
private final java.lang.String _name
-
_simpleName
private final java.lang.String _simpleName
-
_rawClass
private final java.lang.Class<T> _rawClass
-
_interfaces
private TypeList _interfaces
-
_flags
private volatile int _flags
-
_completed
private boolean _completed
-
_declaringType
private Type<?> _declaringType
-
_declaringMethod
private MethodBase _declaringMethod
-
_genericParameters
private java.util.List<GenericParameter<?>> _genericParameters
-
_nestedTypes
private java.util.List<ReflectedType<?>> _nestedTypes
-
_methods
private java.util.List<ReflectedMethod> _methods
-
_fields
private java.util.List<ReflectedField> _fields
-
_constructors
private java.util.List<ReflectedConstructor> _constructors
-
_typeBindings
private TypeBindings _typeBindings
-
GenericParameterFinder
private static final SimpleVisitor<java.lang.reflect.Type,GenericParameter<?>> GenericParameterFinder
-
-
Constructor Detail
-
ReflectedType
ReflectedType(java.lang.Class<T> rawClass)
-
-
Method Detail
-
getFullName
public java.lang.String getFullName()
- Overrides:
getFullName
in classType<T>
-
checkFlags
private boolean checkFlags(int flags)
-
setFlags
private void setFlags(int flags)
-
clearFlags
private void clearFlags(int flags)
-
setBaseType
void setBaseType(Type<?> baseType)
-
setInterfaces
void setInterfaces(TypeList interfaces)
-
getGenericParameters
java.util.List<GenericParameter<?>> getGenericParameters()
-
findField
ReflectedField findField(java.lang.reflect.Field rawField)
-
findMethod
ReflectedMethod findMethod(java.lang.reflect.Method rawMethod)
-
findConstructor
ReflectedConstructor findConstructor(java.lang.reflect.Constructor<?> rawConstructor)
-
findNestedType
ReflectedType<?> findNestedType(java.lang.Class<?> rawClass)
-
findGenericParameter
GenericParameter<?> findGenericParameter(java.lang.reflect.TypeVariable<?> typeVariable)
-
setDeclaringType
void setDeclaringType(Type<?> declaringType)
-
setDeclaringMethod
void setDeclaringMethod(MethodBase declaringMethod)
-
addGenericParameter
void addGenericParameter(GenericParameter<?> genericParameter)
-
addNestedType
void addNestedType(ReflectedType<?> nestedType)
-
addMethod
void addMethod(ReflectedMethod method)
-
addConstructor
void addConstructor(ReflectedConstructor constructor)
-
addField
void addField(ReflectedField field)
-
completeIfNecessary
private void completeIfNecessary()
-
ensureMembersResolved
private void ensureMembersResolved()
-
getDeclaringMethod
public MethodBase getDeclaringMethod()
- Overrides:
getDeclaringMethod
in classType<T>
-
getDeclaredConstructors
protected ConstructorList getDeclaredConstructors()
- Overrides:
getDeclaredConstructors
in classType<T>
-
getDeclaredMethods
protected MethodList getDeclaredMethods()
- Overrides:
getDeclaredMethods
in classType<T>
-
getDeclaredFields
protected FieldList getDeclaredFields()
- Overrides:
getDeclaredFields
in classType<T>
-
getDeclaredTypes
protected TypeList getDeclaredTypes()
- Overrides:
getDeclaredTypes
in classType<T>
-
complete
void complete()
-
getBaseType
public Type<? super T> getBaseType()
- Overrides:
getBaseType
in classType<T>
-
getExplicitInterfaces
public TypeList getExplicitInterfaces()
- Overrides:
getExplicitInterfaces
in classType<T>
-
getTypeBindings
protected TypeBindings getTypeBindings()
- Overrides:
getTypeBindings
in classType<T>
-
getGenericTypeDefinition
public Type<?> getGenericTypeDefinition()
- Overrides:
getGenericTypeDefinition
in classType<T>
-
makeGenericTypeCore
protected Type<?> makeGenericTypeCore(TypeList typeArguments)
- Overrides:
makeGenericTypeCore
in classType<T>
-
getErasedClass
public java.lang.Class<T> getErasedClass()
- Overrides:
getErasedClass
in classType<T>
-
getMemberType
public MemberType getMemberType()
- Overrides:
getMemberType
in classType<T>
-
getDeclaringType
public Type<?> getDeclaringType()
- Specified by:
getDeclaringType
in classMemberInfo
-
getModifiers
public int getModifiers()
- Specified by:
getModifiers
in classMemberInfo
-
accept
public <P,R> R accept(TypeVisitor<P,R> visitor, P parameter)
-
_appendClassName
protected java.lang.StringBuilder _appendClassName(java.lang.StringBuilder sb, boolean fullName, boolean dottedName)
- Overrides:
_appendClassName
in classType<T>
-
-