public interface TypeD extends Declaration, HasTypeD, HasNameD
class A { int a; } class B extends A { int b; }The iterator for the collection returned for the member fields of B should always return
B.b
before A.a
.
Order within the same declaring type is not defined. Declaration.DeclarationKind
Modifier and Type | Field and Description |
---|---|
static TypeD[] |
EMPTY_ARRAY |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o)
True if the other object is also a TypeD and they represent the
same type.
|
ClassD |
getClass(java.lang.String name)
Gets the first matching member class, null if none.
|
java.util.Collection |
getClasses()
Gets all member classes, declared and inherited.
|
ClassD |
getDeclaredClass(java.lang.String name)
Gets the matching member class, null if none.
|
java.util.Collection |
getDeclaredClasses()
Gets all declared member classes.
|
ConstructorD |
getDeclaredConstructor(TypeD[] parameters)
Gets the matching declared constructor, null if none.
|
java.util.Collection |
getDeclaredConstructors()
Gets all declared constructors.
|
FieldD |
getDeclaredField(java.lang.String name)
Gets the first matching declared field, null if none.
|
java.util.Collection |
getDeclaredFields()
Gets all declared fields.
|
MethodD |
getDeclaredMethod(java.lang.String name,
TypeD[] parameters)
Gets the matching declared method, null if none.
|
java.util.Collection |
getDeclaredMethods()
Gets all declared methods.
|
java.util.Collection |
getDeclaredMethods(java.lang.String name)
Gets all matching declared methods.
|
java.lang.String |
getDescriptor()
Gets the descriptor for this type, as defined by the JVMS2.
|
FieldD |
getField(java.lang.String name)
Gets the matching member field, null if none.
|
java.util.Collection |
getFields()
Gets all member fields, declared and inherited.
|
java.util.Collection |
getHierarchy()
Recursively gets all direct supertypes.
|
java.util.Collection |
getInterfaces()
Gets this type's super-interfaces.
|
MethodD |
getMethod(java.lang.String name,
TypeD[] parameters)
Gets the first matching method, null if none.
|
java.util.Collection |
getMethods()
Gets all member methods, declared and inherited.
|
java.util.Collection |
getMethods(java.lang.String name)
Gets all matching methods.
|
java.lang.String |
getQualifiedName()
Gets the fully qualified name of this type in source format.
|
TypeD |
getSuperclass()
Gets this type's superclass.
|
TypeD |
getType()
Gets itself as its type.
|
ClassD |
getTypeErasure()
Gets the type erasure of this type.
|
java.lang.String |
getTypeSignature()
Gets the type signature for this type, as defined by the
JVMS3.
|
boolean |
isAnnotation()
True if this is an annotation type.
|
boolean |
isArray()
True if this is an array type.
|
boolean |
isAssignableFrom(TypeD subject)
True if this type is assignable from the subject type.
|
boolean |
isEnum()
True if this is an enum type.
|
boolean |
isInterface()
True if this is an interface.
|
boolean |
isPrimitive()
True if this is a primitive type, including the special
void type. |
getDeclarationKind, getPosition, isSynthetic
static final TypeD[] EMPTY_ARRAY
TypeD getType()
ClassD getTypeErasure()
boolean isPrimitive()
void
type. boolean isArray()
boolean isEnum()
boolean isAnnotation()
boolean isInterface()
java.lang.String getQualifiedName()
java.lang.Object
,
java.util.Map<String,String>
,
java.lang.String[][]
java.lang.String getDescriptor()
java.lang.String getTypeSignature()
Ljava/util/List;
A TypeVariableD returns its "TypeVariableSignature" (JVMS3). A
TypeVariableD is uniquely identified by its owning declaration
and its type signature. Example value: TE;
.
A WildcardTypeD returns its "TypeArgument" value (JVMS3). A
WildcardTypeD is uniquely identified by its type signature.
Example values: *
+Ljava/lang/Object;
TypeD getSuperclass()
java.util.Collection getInterfaces()
java.util.Collection getHierarchy()
boolean isAssignableFrom(TypeD subject)
void method( S subject ) { T variable = subject; }Notice that because the parameter subject is not a constant-value, the assignment conversion will not perform the implicit narrowing conversion. Reflection does not perform auto-boxing and therefore, neither does this.
java.util.Collection getDeclaredFields()
FieldD getDeclaredField(java.lang.String name)
name
- The name to match. Require non-null.java.util.Collection getDeclaredConstructors()
ConstructorD getDeclaredConstructor(TypeD[] parameters)
parameters
- The exact parameter types to match. Null
indicates an empty parameter list.java.util.Collection getDeclaredMethods()
clinit
method. Does not include the various "access$"
methods that may be present in class files.clinit
method.
Collection of MethodDs.java.util.Collection getDeclaredMethods(java.lang.String name)
name
- The method name to match. Require non-null.MethodD getDeclaredMethod(java.lang.String name, TypeD[] parameters)
name
- The method name to match. Require non-null.parameters
- The exact parameter types to match. Null
indicates an empty parameter list.java.util.Collection getDeclaredClasses()
ClassD getDeclaredClass(java.lang.String name)
java.util.Collection getFields()
TypeD
.
Note: The implicit "length" field for array types should be
suppressed because according to the JLS, it is technically not a
member variable. FieldD getField(java.lang.String name)
name
- The field name to match. Require non-null.java.util.Collection getMethods()
TypeD
. java.util.Collection getMethods(java.lang.String name)
name
- The method name to match. Require non-null.MethodD getMethod(java.lang.String name, TypeD[] parameters)
name
- The method name to match. Require non-null.parameters
- The exact parameter types to match. Null
indicates an empty parameter list.java.util.Collection getClasses()
TypeD
. ClassD getClass(java.lang.String name)
name
- The simple class name to match. Require non-null.boolean equals(java.lang.Object o)
equals
in class java.lang.Object