public final class GenericsTrackingUtils
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static java.util.LinkedHashMap<java.lang.String,java.lang.reflect.Type> |
track(java.lang.Class<?> type,
java.lang.Class<?> known,
java.util.LinkedHashMap<java.lang.String,java.lang.reflect.Type> knownGenerics)
Track root generics with known middle type generic.
|
public static java.util.LinkedHashMap<java.lang.String,java.lang.reflect.Type> track(java.lang.Class<?> type,
java.lang.Class<?> known,
java.util.LinkedHashMap<java.lang.String,java.lang.reflect.Type> knownGenerics)
Some<P> extends Base<P>
and we know generic of Base<T> then it is possible to track that P == T and so known.type - root type to track generics forknown - class or interface with known generics (in the middle of root type hierarchy)knownGenerics - generics of known typejava.lang.IllegalStateException - when resolved generic of known type contradict with known generic value
(type can't be casted to known type)