TypeDefinition
public abstract class JavaTypeDefinition extends java.lang.Object implements TypeDefinition
Modifier | Constructor | Description |
---|---|---|
protected |
JavaTypeDefinition(TypeDefinitionType definitionType) |
Modifier and Type | Method | Description |
---|---|---|
abstract boolean |
equals(java.lang.Object obj) |
|
static JavaTypeDefinition |
forClass(java.lang.Class<?> clazz,
JavaTypeDefinition... boundGenerics) |
|
static JavaTypeDefinition |
forClass(TypeDefinitionType type,
java.lang.Class<?> clazz,
JavaTypeDefinition... boundGenerics) |
|
static JavaTypeDefinition |
forClass(TypeDefinitionType type,
JavaTypeDefinition... intersectionTypes) |
|
abstract JavaTypeDefinition |
getAsSuper(java.lang.Class<?> superClazz) |
|
abstract JavaTypeDefinition |
getComponentType() |
Gets the component type of this type definition if it
is an array type.
|
TypeDefinitionType |
getDefinitionType() |
|
abstract JavaTypeDefinition |
getElementType() |
Gets the element type of this type definition if it
is an array type.
|
abstract JavaTypeDefinition |
getEnclosingClass() |
|
abstract java.util.Set<java.lang.Class<?>> |
getErasedSuperTypeSet() |
|
abstract JavaTypeDefinition |
getGenericType(int index) |
|
abstract JavaTypeDefinition |
getGenericType(java.lang.String parameterName) |
|
static int |
getGenericTypeIndex(java.lang.reflect.TypeVariable<?>[] typeParameters,
java.lang.String parameterName) |
|
abstract JavaTypeDefinition |
getJavaType(int index) |
|
abstract int |
getJavaTypeCount() |
|
abstract java.util.Set<JavaTypeDefinition> |
getSuperTypeSet() |
|
protected abstract java.util.Set<JavaTypeDefinition> |
getSuperTypeSet(java.util.Set<JavaTypeDefinition> destinationSet) |
|
abstract java.lang.Class<?> |
getType() |
Get the raw Class type of the definition.
|
abstract int |
getTypeParameterCount() |
|
abstract int |
hashCode() |
|
abstract boolean |
hasSameErasureAs(JavaTypeDefinition def) |
|
abstract boolean |
isArrayType() |
|
abstract boolean |
isClassOrInterface() |
|
boolean |
isExactType() |
|
abstract boolean |
isGeneric() |
|
abstract boolean |
isIntersectionType() |
|
boolean |
isLowerBound() |
|
abstract boolean |
isNullType() |
|
abstract boolean |
isPrimitive() |
|
abstract boolean |
isRawType() |
Returns true if this type has type parameters and has not been parameterized,
e.g.
|
boolean |
isUpperBound() |
|
boolean |
isWildcard() |
|
abstract JavaTypeDefinition |
resolveTypeDefinition(java.lang.reflect.Type type) |
|
abstract JavaTypeDefinition |
resolveTypeDefinition(java.lang.reflect.Type type,
java.lang.reflect.Method method,
java.util.List<JavaTypeDefinition> methodTypeArgs) |
|
protected abstract java.lang.String |
shallowString() |
|
abstract java.lang.String |
toString() |
|
abstract JavaTypeDefinition |
withDimensions(int numDimensions) |
Returns the type definition of the array type which
has the given number of array dimensions, plus the dimensions
of this type definition.
|
protected JavaTypeDefinition(TypeDefinitionType definitionType)
public static JavaTypeDefinition forClass(TypeDefinitionType type, java.lang.Class<?> clazz, JavaTypeDefinition... boundGenerics)
public static JavaTypeDefinition forClass(TypeDefinitionType type, JavaTypeDefinition... intersectionTypes)
public static JavaTypeDefinition forClass(java.lang.Class<?> clazz, JavaTypeDefinition... boundGenerics)
public abstract java.lang.Class<?> getType()
TypeDefinition
getType
in interface TypeDefinition
public abstract JavaTypeDefinition getEnclosingClass()
public abstract boolean isGeneric()
public static int getGenericTypeIndex(java.lang.reflect.TypeVariable<?>[] typeParameters, java.lang.String parameterName)
public abstract JavaTypeDefinition getGenericType(java.lang.String parameterName)
public abstract JavaTypeDefinition getGenericType(int index)
public abstract JavaTypeDefinition resolveTypeDefinition(java.lang.reflect.Type type)
public abstract JavaTypeDefinition resolveTypeDefinition(java.lang.reflect.Type type, java.lang.reflect.Method method, java.util.List<JavaTypeDefinition> methodTypeArgs)
public abstract boolean isClassOrInterface()
public abstract boolean isNullType()
public abstract boolean isPrimitive()
public abstract boolean hasSameErasureAs(JavaTypeDefinition def)
public abstract int getTypeParameterCount()
public abstract boolean isArrayType()
public abstract JavaTypeDefinition getComponentType()
int[][][]
is int[][]
.java.lang.IllegalStateException
- if this definition doesn't identify an array typegetElementType()
public abstract JavaTypeDefinition getElementType()
int[][][]
is int
.isArrayType()
returns falsegetComponentType()
public abstract JavaTypeDefinition withDimensions(int numDimensions)
int.class.withDimensions(3) == int[][][].class
int[].class.withDimensions(1) == int[][].class
c.withDimensions(0) == c
n > 0 => c.withDimensions(n).getComponentType() == c.withDimensions(n - 1)
numDimensions
- Number of dimensions added to this type in
the resulting array typejava.lang.IllegalArgumentException
- if numDimensions < 0public abstract java.lang.String toString()
toString
in class java.lang.Object
public abstract boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public abstract int hashCode()
hashCode
in class java.lang.Object
public abstract java.util.Set<JavaTypeDefinition> getSuperTypeSet()
protected abstract java.util.Set<JavaTypeDefinition> getSuperTypeSet(java.util.Set<JavaTypeDefinition> destinationSet)
public abstract java.util.Set<java.lang.Class<?>> getErasedSuperTypeSet()
public abstract boolean isRawType()
List
instead of List<T>
.public abstract JavaTypeDefinition getAsSuper(java.lang.Class<?> superClazz)
public final boolean isExactType()
public final boolean isUpperBound()
public final boolean isLowerBound()
public abstract boolean isIntersectionType()
public final boolean isWildcard()
public final TypeDefinitionType getDefinitionType()
public abstract JavaTypeDefinition getJavaType(int index)
public abstract int getJavaTypeCount()
protected abstract java.lang.String shallowString()
Copyright © 2002–2018 PMD. All rights reserved.