public abstract class Type<T> extends MemberInfo implements java.lang.reflect.Type
| Modifier and Type | Field and Description |
|---|---|
static Type |
Bottom |
static Binder |
DefaultBinder |
protected static java.util.Set<BindingFlags> |
DefaultLookup |
static char |
Delimiter |
protected static ConstructorInfo[] |
EmptyConstructors |
protected static FieldInfo[] |
EmptyFields |
protected static MemberInfo[] |
EmptyMembers |
protected static MethodInfo[] |
EmptyMethods |
protected static java.lang.Object[] |
EmptyObjects |
protected static java.lang.String[] |
EmptyStrings |
static Type<?>[] |
EmptyTypes |
static MemberFilter |
FilterMethodOverride |
static MemberFilter |
FilterName |
static MemberFilter |
FilterNameIgnoreCase |
static MemberFilter |
FilterRawMember |
static Type |
NullType |
protected static com.strobel.reflection.WildcardType<java.lang.Object> |
UnboundedWildcard |
static Missing |
Value |
| Modifier | Constructor and Description |
|---|---|
protected |
Type() |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.StringBuilder |
_appendClassDescription(java.lang.StringBuilder sb) |
protected java.lang.StringBuilder |
_appendClassName(java.lang.StringBuilder sb,
boolean fullName,
boolean dottedName) |
protected java.lang.StringBuilder |
_appendClassSignature(java.lang.StringBuilder sb) |
protected java.lang.StringBuilder |
_appendErasedClassSignature(java.lang.StringBuilder sb) |
<P,R> R |
accept(TypeVisitor<P,R> visitor,
P parameter) |
java.lang.StringBuilder |
appendBriefDescription(java.lang.StringBuilder sb) |
java.lang.StringBuilder |
appendDescription(java.lang.StringBuilder sb) |
java.lang.StringBuilder |
appendErasedDescription(java.lang.StringBuilder sb) |
java.lang.StringBuilder |
appendErasedSignature(java.lang.StringBuilder sb) |
java.lang.StringBuilder |
appendGenericSignature(java.lang.StringBuilder sb) |
java.lang.StringBuilder |
appendSignature(java.lang.StringBuilder sb) |
java.lang.StringBuilder |
appendSimpleDescription(java.lang.StringBuilder sb) |
boolean |
containsGenericParameter(Type<?> genericParameter) |
boolean |
containsGenericParameters() |
boolean |
equals(java.lang.Object obj) |
MemberList<? extends MemberInfo> |
findMembers(java.util.Set<MemberType> memberTypes,
java.util.Set<BindingFlags> bindingAttr,
MemberFilter filter,
java.lang.Object filterCriteria) |
static Type<?> |
forName(java.lang.String name) |
static Type<?> |
forName(java.lang.String name,
boolean throwOnError) |
<T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass) |
java.lang.annotation.Annotation[] |
getAnnotations() |
Type<? super T> |
getBaseType() |
protected java.lang.String |
getClassFullName() |
protected java.lang.String |
getClassSimpleName() |
ConstructorInfo |
getConstructor(java.util.Set<BindingFlags> bindingFlags,
CallingConvention callingConvention,
Type... parameterTypes) |
ConstructorInfo |
getConstructor(java.util.Set<BindingFlags> bindingFlags,
Type... parameterTypes) |
ConstructorInfo |
getConstructor(Type... parameterTypes) |
ConstructorList |
getConstructors() |
ConstructorList |
getConstructors(java.util.Set<BindingFlags> bindingFlags) |
java.lang.annotation.Annotation[] |
getDeclaredAnnotations() |
protected ConstructorList |
getDeclaredConstructors() |
protected FieldList |
getDeclaredFields() |
protected MethodList |
getDeclaredMethods() |
protected TypeList |
getDeclaredTypes() |
MethodBase |
getDeclaringMethod() |
Type |
getElementType() |
java.lang.Object[] |
getEnumConstants() |
java.lang.String[] |
getEnumNames() |
java.lang.Class<T> |
getErasedClass() |
Type<?> |
getErasedType() |
protected TypeList |
getExplicitInterfaces() |
Type<?> |
getExtendsBound() |
FieldInfo |
getField(java.lang.String name) |
FieldInfo |
getField(java.lang.String name,
java.util.Set<BindingFlags> bindingFlags) |
FieldList |
getFields() |
FieldList |
getFields(java.util.Set<BindingFlags> bindingFlags) |
java.lang.String |
getFullName() |
int |
getGenericParameterPosition() |
java.lang.String |
getGenericSignature()
Method that returns full generic signature of the type; suitable
as signature for things like ASM package.
|
Type |
getGenericTypeDefinition() |
TypeList |
getGenericTypeParameters() |
TypeList |
getInterfaces() |
java.lang.String |
getInternalName() |
javax.lang.model.type.TypeKind |
getKind() |
MemberList |
getMember(java.lang.String name) |
MemberList |
getMember(java.lang.String name,
MemberType memberType,
MemberType... memberTypes) |
MemberList |
getMember(java.lang.String name,
java.util.Set<BindingFlags> bindingFlags,
java.util.Set<MemberType> memberTypes) |
MemberList |
getMembers() |
MemberList |
getMembers(MemberType memberType,
MemberType... memberTypes) |
MemberList |
getMembers(java.util.Set<BindingFlags> bindingFlags) |
MemberList |
getMembers(java.util.Set<BindingFlags> bindingFlags,
MemberType memberType,
MemberType... memberTypes) |
MemberList |
getMembers(java.util.Set<BindingFlags> bindingFlags,
java.util.Set<MemberType> memberTypes) |
MemberList |
getMembersOfType(java.util.Set<MemberType> memberTypes) |
MemberType |
getMemberType() |
MethodInfo |
getMethod(java.lang.String name,
java.util.Set<BindingFlags> bindingFlags,
CallingConvention callingConvention,
Type... parameterTypes) |
MethodInfo |
getMethod(java.lang.String name,
java.util.Set<BindingFlags> bindingFlags,
Type... parameterTypes) |
MethodInfo |
getMethod(java.lang.String name,
Type... parameterTypes) |
MethodList |
getMethods() |
MethodList |
getMethods(java.util.Set<BindingFlags> bindingFlags) |
MethodList |
getMethods(java.util.Set<BindingFlags> bindingFlags,
CallingConvention callingConvention) |
java.lang.String |
getName() |
Type<?> |
getNestedType(java.lang.String fullName) |
Type<?> |
getNestedType(java.lang.String fullName,
java.util.Set<BindingFlags> bindingFlags) |
TypeList |
getNestedTypes() |
TypeList |
getNestedTypes(java.util.Set<BindingFlags> bindingFlags) |
java.lang.Package |
getPackage() |
java.lang.String |
getShortName() |
Type<?> |
getSuperBound() |
static <T> Type<T> |
getType(T object) |
TypeList |
getTypeArguments() |
protected TypeBindings |
getTypeBindings() |
boolean |
hasElementType() |
boolean |
hasExtendsBound() |
int |
hashCode() |
boolean |
hasSuperBound() |
boolean |
implementsInterface(Type interfaceType) |
boolean |
isAbstract() |
boolean |
isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass) |
boolean |
isArray() |
boolean |
isAssignableFrom(Type type) |
boolean |
isBoundedType() |
boolean |
isClass() |
boolean |
isCompoundType() |
boolean |
isEnum() |
boolean |
isEquivalentTo(Type<?> other) |
boolean |
isGenericParameter() |
boolean |
isGenericType() |
boolean |
isGenericTypeDefinition() |
boolean |
isInstance(java.lang.Object o) |
boolean |
isInterface() |
boolean |
isLocalClass() |
boolean |
isNested() |
boolean |
isPrimitive() |
boolean |
isRawType() |
boolean |
isSubTypeOf(Type type) |
boolean |
isSynthetic() |
boolean |
isUnbounded() |
boolean |
isVisible() |
boolean |
isWildcardType() |
static TypeList |
list(java.lang.Class<?>... classes) |
static TypeList |
list(java.util.List<? extends Type<?>> types) |
static TypeList |
list(Type... types) |
Type<T[]> |
makeArrayType() |
static <T> Type<T[]> |
makeArrayType(Type<T> elementType) |
static Type<?> |
makeCompoundType(Type<?> baseType,
TypeList interfaces) |
static Type<?> |
makeCompoundType(TypeList bounds) |
static <T> Type<? extends T> |
makeExtendsWildcard(Type<T> bound) |
<U extends T> |
makeGenericType(Type<?>... typeArguments) |
<U extends T> |
makeGenericType(TypeList typeArguments) |
protected Type |
makeGenericTypeCore(TypeList typeArguments) |
static <T> Type<? super T> |
makeSuperWildcard(Type<T> bound) |
static com.strobel.reflection.WildcardType<?> |
makeWildcard() |
T |
newInstance(java.lang.Object... arguments) |
static <T> Type<T> |
of(java.lang.Class<T> clazz) |
protected static Type<?> |
substitute(Type<?> type,
TypeBindings typeBindings) |
java.lang.String |
toString() |
getAnnotationsByType, getBriefDescription, getDeclaredAnnotation, getDeclaredAnnotationsByType, getDeclaringType, getDescription, getErasedDescription, getErasedSignature, getModifiers, getReflectedType, getSignature, getSimpleDescription, isEquivalentTo, isFinal, isNonPublic, isPackagePrivate, isPrivate, isProtected, isPublic, isStaticpublic static final Binder DefaultBinder
public static final char Delimiter
public static final Missing Value
public static final Type<?>[] EmptyTypes
public static final Type Bottom
public static final Type NullType
protected static final java.lang.Object[] EmptyObjects
protected static final java.lang.String[] EmptyStrings
protected static final MethodInfo[] EmptyMethods
protected static final ConstructorInfo[] EmptyConstructors
protected static final FieldInfo[] EmptyFields
protected static final MemberInfo[] EmptyMembers
protected static final java.util.Set<BindingFlags> DefaultLookup
protected static final com.strobel.reflection.WildcardType<java.lang.Object> UnboundedWildcard
public static final MemberFilter FilterNameIgnoreCase
public static final MemberFilter FilterName
public static final MemberFilter FilterRawMember
public static final MemberFilter FilterMethodOverride
public MemberType getMemberType()
getMemberType in class MemberInfopublic boolean isNested()
public boolean isLocalClass()
public boolean isVisible()
public final boolean isClass()
public final boolean isInterface()
public final boolean isEnum()
public final boolean isAbstract()
public boolean isArray()
public boolean isGenericType()
public boolean isGenericTypeDefinition()
public boolean isRawType()
public boolean isGenericParameter()
public boolean isPrimitive()
public boolean hasElementType()
public javax.lang.model.type.TypeKind getKind()
public TypeList getInterfaces()
protected TypeList getExplicitInterfaces()
public java.lang.Class<T> getErasedClass()
public T newInstance(java.lang.Object... arguments)
public MethodBase getDeclaringMethod()
public Type getElementType()
public int getGenericParameterPosition()
protected TypeBindings getTypeBindings()
public TypeList getTypeArguments()
public TypeList getGenericTypeParameters()
public Type getGenericTypeDefinition()
public boolean containsGenericParameters()
public boolean containsGenericParameter(Type<?> genericParameter)
public boolean isBoundedType()
public boolean isUnbounded()
public boolean hasExtendsBound()
public boolean hasSuperBound()
public Type<?> getExtendsBound()
public Type<?> getSuperBound()
public boolean isEquivalentTo(Type<?> other)
public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic boolean isSubTypeOf(Type type)
public boolean isInstance(java.lang.Object o)
public boolean implementsInterface(Type interfaceType)
public boolean isAssignableFrom(Type type)
public java.lang.Package getPackage()
public boolean isCompoundType()
public boolean isWildcardType()
public boolean isSynthetic()
public <P,R> R accept(TypeVisitor<P,R> visitor, P parameter)
public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass)
getAnnotation in interface java.lang.reflect.AnnotatedElementgetAnnotation in class MemberInfo@NotNull public java.lang.annotation.Annotation[] getAnnotations()
getAnnotations in interface java.lang.reflect.AnnotatedElementgetAnnotations in class MemberInfo@NotNull public java.lang.annotation.Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations in interface java.lang.reflect.AnnotatedElementgetDeclaredAnnotations in class MemberInfopublic boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
isAnnotationPresent in interface java.lang.reflect.AnnotatedElementisAnnotationPresent in class MemberInfopublic final MemberList getMember(java.lang.String name)
public final MemberList getMember(java.lang.String name, MemberType memberType, MemberType... memberTypes)
public MemberList getMember(java.lang.String name, java.util.Set<BindingFlags> bindingFlags, java.util.Set<MemberType> memberTypes)
public final FieldInfo getField(java.lang.String name)
public FieldInfo getField(java.lang.String name, java.util.Set<BindingFlags> bindingFlags)
public final MethodInfo getMethod(java.lang.String name, Type... parameterTypes)
public final MethodInfo getMethod(java.lang.String name, java.util.Set<BindingFlags> bindingFlags, Type... parameterTypes)
public MethodInfo getMethod(java.lang.String name, java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type... parameterTypes)
public final ConstructorInfo getConstructor(Type... parameterTypes)
public final ConstructorInfo getConstructor(java.util.Set<BindingFlags> bindingFlags, Type... parameterTypes)
public ConstructorInfo getConstructor(java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type... parameterTypes)
public final MemberList getMembers()
public final MemberList getMembersOfType(java.util.Set<MemberType> memberTypes)
public final MemberList getMembers(MemberType memberType, MemberType... memberTypes)
public final MemberList getMembers(java.util.Set<BindingFlags> bindingFlags)
public final MemberList getMembers(java.util.Set<BindingFlags> bindingFlags, MemberType memberType, MemberType... memberTypes)
public MemberList getMembers(java.util.Set<BindingFlags> bindingFlags, java.util.Set<MemberType> memberTypes)
public MemberList<? extends MemberInfo> findMembers(java.util.Set<MemberType> memberTypes, java.util.Set<BindingFlags> bindingAttr, MemberFilter filter, java.lang.Object filterCriteria)
public final FieldList getFields()
public FieldList getFields(java.util.Set<BindingFlags> bindingFlags)
public final MethodList getMethods()
public final MethodList getMethods(java.util.Set<BindingFlags> bindingFlags)
public MethodList getMethods(java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention)
public final ConstructorList getConstructors()
public ConstructorList getConstructors(java.util.Set<BindingFlags> bindingFlags)
public final TypeList getNestedTypes()
public TypeList getNestedTypes(java.util.Set<BindingFlags> bindingFlags)
public final Type<?> getNestedType(java.lang.String fullName)
public Type<?> getNestedType(java.lang.String fullName, java.util.Set<BindingFlags> bindingFlags)
public java.lang.Object[] getEnumConstants()
public java.lang.String[] getEnumNames()
public int hashCode()
hashCode in class java.lang.Objectpublic final Type<?> getErasedType()
protected static Type<?> substitute(Type<?> type, TypeBindings typeBindings)
public java.lang.String toString()
toString in class MemberInfopublic java.lang.String getName()
getName in class MemberInfoprotected java.lang.String getClassFullName()
protected java.lang.String getClassSimpleName()
public java.lang.String getShortName()
public java.lang.String getFullName()
public java.lang.String getInternalName()
public java.lang.String getGenericSignature()
public java.lang.StringBuilder appendBriefDescription(java.lang.StringBuilder sb)
appendBriefDescription in class MemberInfopublic java.lang.StringBuilder appendSimpleDescription(java.lang.StringBuilder sb)
appendSimpleDescription in class MemberInfopublic java.lang.StringBuilder appendErasedDescription(java.lang.StringBuilder sb)
appendErasedDescription in class MemberInfopublic java.lang.StringBuilder appendDescription(java.lang.StringBuilder sb)
appendDescription in class MemberInfopublic java.lang.StringBuilder appendSignature(java.lang.StringBuilder sb)
appendSignature in class MemberInfopublic java.lang.StringBuilder appendGenericSignature(java.lang.StringBuilder sb)
public java.lang.StringBuilder appendErasedSignature(java.lang.StringBuilder sb)
appendErasedSignature in class MemberInfoprotected java.lang.StringBuilder _appendClassSignature(java.lang.StringBuilder sb)
protected java.lang.StringBuilder _appendErasedClassSignature(java.lang.StringBuilder sb)
protected java.lang.StringBuilder _appendClassDescription(java.lang.StringBuilder sb)
protected java.lang.StringBuilder _appendClassName(java.lang.StringBuilder sb,
boolean fullName,
boolean dottedName)
public static <T> Type<T> of(java.lang.Class<T> clazz)
public static Type<?> forName(java.lang.String name)
public static Type<?> forName(java.lang.String name, boolean throwOnError)
public static <T> Type<T> getType(T object)
public static com.strobel.reflection.WildcardType<?> makeWildcard()
public static TypeList list(java.lang.Class<?>... classes)
protected ConstructorList getDeclaredConstructors()
protected MethodList getDeclaredMethods()
protected FieldList getDeclaredFields()
protected TypeList getDeclaredTypes()