public class HierarchicType
extends java.lang.Object
Class
(and/or various Type subtypes)
that is used as part of single-path extends/implements chain to express
specific relationship between one subtype and one supertype. This is needed
for resolving type parameters. Instances are doubly-linked so that chain
can be traversed in both directionsModifier and Type | Field and Description |
---|---|
protected java.lang.reflect.Type |
_actualType
Type which will be either plain
Class or
ParameterizedType . |
protected java.lang.reflect.ParameterizedType |
_genericType |
protected java.lang.Class<?> |
_rawClass |
protected HierarchicType |
_subType |
protected HierarchicType |
_superType |
Constructor and Description |
---|
HierarchicType(java.lang.reflect.Type type) |
Modifier and Type | Method and Description |
---|---|
java.lang.reflect.ParameterizedType |
asGeneric() |
HierarchicType |
deepCloneWithoutSubtype()
Method that can be used to create a deep clone of this hierarchic type, including
super types (but not subtypes)
|
java.lang.Class<?> |
getRawClass() |
HierarchicType |
getSubType() |
HierarchicType |
getSuperType() |
boolean |
isGeneric() |
void |
setSubType(HierarchicType sub) |
void |
setSuperType(HierarchicType sup) |
java.lang.String |
toString() |
protected final java.lang.reflect.Type _actualType
Class
or
ParameterizedType
.protected final java.lang.Class<?> _rawClass
protected final java.lang.reflect.ParameterizedType _genericType
protected HierarchicType _superType
protected HierarchicType _subType
public HierarchicType deepCloneWithoutSubtype()
public void setSuperType(HierarchicType sup)
public final HierarchicType getSuperType()
public void setSubType(HierarchicType sub)
public final HierarchicType getSubType()
public final boolean isGeneric()
public final java.lang.reflect.ParameterizedType asGeneric()
public final java.lang.Class<?> getRawClass()
public java.lang.String toString()
toString
in class java.lang.Object