public class TypeHierarchy
extends java.lang.Object
Constructor and Description |
---|
TypeHierarchy(java.lang.reflect.Type lowerBound) |
Modifier and Type | Method and Description |
---|---|
java.util.stream.Stream<java.lang.reflect.Type> |
resolveCompleteSupertypeHierarchy(java.lang.Class<?> superclass)
Determine the recursive sequence of direct supertypes of a given type which
lead to either the given superclass or a parameterization thereof.
|
java.util.stream.Stream<java.lang.reflect.Type> |
resolveDirectSupertypeHierarchy(java.lang.Class<?> superclass)
Determine the recursive sequence of direct supertypes of a given type which
lead to either the given superclass or a parameterization thereof.
|
java.util.stream.Stream<java.lang.reflect.Type> |
resolveImmediateSupertypes()
Determine the immediate supertypes of the given type.
|
java.util.stream.Stream<java.lang.reflect.Type> |
resolveSuperClasses() |
java.lang.reflect.Type |
resolveSupertype(java.lang.Class<?> superclass)
Determine the super type of a given type which is either equal to the given
superclass or a parameterization thereof.
|
java.lang.String |
toString() |
public TypeHierarchy(java.lang.reflect.Type lowerBound)
lowerBound
- the type providing a context within which to determine the arguments
of the supertypespublic java.util.stream.Stream<java.lang.reflect.Type> resolveSuperClasses()
public java.util.stream.Stream<java.lang.reflect.Type> resolveDirectSupertypeHierarchy(java.lang.Class<?> superclass)
superclass
- the class of the supertype parameterization we wish to determinepublic java.util.stream.Stream<java.lang.reflect.Type> resolveCompleteSupertypeHierarchy(java.lang.Class<?> superclass)
superclass
- the class of the supertype parameterization we wish to determinepublic java.lang.reflect.Type resolveSupertype(java.lang.Class<?> superclass)
superclass
- the class of the supertype parameterization we wish to determinepublic java.util.stream.Stream<java.lang.reflect.Type> resolveImmediateSupertypes()
public java.lang.String toString()
toString
in class java.lang.Object