Skip navigation links
A C D E F G H I L M N O P R S T U V W 

A

AbstractGenericsContext - Class in ru.vyarus.java.generics.resolver.context
Context object wraps root type hierarchy generics information descriptor and provides utility methods for actual types resolution.
AbstractGenericsContext(GenericsInfo, Class<?>) - Constructor for class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
 
allTypeGenerics - Variable in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
AssignabilityTypesVisitor - Class in ru.vyarus.java.generics.resolver.util.walk
Compare if one type could be assigned to another (casted).
AssignabilityTypesVisitor() - Constructor for class ru.vyarus.java.generics.resolver.util.walk.AssignabilityTypesVisitor
 

C

CACHE_PROPERTY - Static variable in class ru.vyarus.java.generics.resolver.context.GenericsInfoFactory
System property or environment variable name to disable cache.
chooseContext(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Look for generic variables presence inside type and, if found, try to switch to correct context.
chooseContext(Type) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
clearCache() - Static method in class ru.vyarus.java.generics.resolver.context.GenericsInfoFactory
Clears cached descriptors (already parsed).
ComparatorTypesVisitor - Class in ru.vyarus.java.generics.resolver.util.walk
Check if one type is more specific.
ComparatorTypesVisitor() - Constructor for class ru.vyarus.java.generics.resolver.util.walk.ComparatorTypesVisitor
 
CompatibilityTypesVisitor - Class in ru.vyarus.java.generics.resolver.util.walk
Checks if types hierarchies are compatible (one could be casted to another).
CompatibilityTypesVisitor() - Constructor for class ru.vyarus.java.generics.resolver.util.walk.CompatibilityTypesVisitor
 
constructor(Constructor) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Navigates current context to specific constructor (type context is switched to constructor declaring class).
constructor(Constructor) - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
constructor(Constructor) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
ConstructorGenericsContext - Class in ru.vyarus.java.generics.resolver.context
Constructor generics context.
ConstructorGenericsContext(GenericsInfo, Constructor, GenericsContext) - Constructor for class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
constructorGenericsMap() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
class A<E>{ <T, K extends E> A(T arg1, K arg2); } class B extends A<Serializable> {} context.constructor(A.class.getConstructor(Object.class, Object.class)).constructorGenericsMap() == ["T": Object.class, "K": Serializable.class] For constructor generics it's impossible to know actual type (available only in time of constructor call), so generics resolved as upper bound.
constructorGenericTypes() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
<T extends Serializable> Some(T arg);.
contextGenerics() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
 
contextGenerics() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
contextGenerics() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
contextGenerics() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
create(Class<?>, Class<?>...) - Static method in class ru.vyarus.java.generics.resolver.context.GenericsInfoFactory
Note: ignore classes switch off caching for resolved descriptor (and if completely resolved version contained in cache limited version will be composed one more time).
create(Class<?>, Class<?>...) - Static method in class ru.vyarus.java.generics.resolver.util.GenericInfoUtils
Root class analysis.
create(GenericsContext, Type, Class<?>...) - Static method in class ru.vyarus.java.generics.resolver.util.GenericInfoUtils
Type analysis in context of analyzed type.
create(GenericsContext, Type, Class<?>, Class<?>...) - Static method in class ru.vyarus.java.generics.resolver.util.GenericInfoUtils
Type analysis in context of analyzed type with child class as target type.
createGenericsMap(Class<?>, List<? extends Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Converts type's known generics collection into generics map, suitable for usage with the api.
CURRENT_POSITION_MARKER - Static variable in class ru.vyarus.java.generics.resolver.context.GenericsContext
Current hierarchy position marker (for toString).
currentClass() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
 
currentConstructor() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
currentMethod() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
currentType - Variable in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
 

D

DefaultTypeWriter() - Constructor for class ru.vyarus.java.generics.resolver.context.GenericsInfo.DefaultTypeWriter
 
disableCache() - Static method in class ru.vyarus.java.generics.resolver.context.GenericsInfoFactory
Disables descriptors cache.

E

EmptyGenericsMap - Class in ru.vyarus.java.generics.resolver.util.map
Special map used as default empty generics map.
EmptyGenericsMap() - Constructor for class ru.vyarus.java.generics.resolver.util.map.EmptyGenericsMap
 
equals(Object) - Method in class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
equals(Object) - Method in class ru.vyarus.java.generics.resolver.context.container.GenericArrayTypeImpl
 
equals(Object) - Method in class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
equals(Object) - Method in class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
 
ExplicitTypeVariable - Class in ru.vyarus.java.generics.resolver.context.container
Special implementation for holding generic name from TypeVariable.
ExplicitTypeVariable(TypeVariable) - Constructor for class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
ExplicitTypeVariable(String) - Constructor for class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
extractOwnerGenerics(Class<?>, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
It is important to keep possible outer class generics, because they may be used in type declarations.
extractTypeGenerics(Class<?>, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Generics declaration may contain type's generics together with outer class generics (if type is inner class).

F

fieldType(Field) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Create generics context for field type (with correctly resolved root generics)."
fieldTypeAs(Field, Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Create generics context for type extending field type.
fillOuterGenerics(Type, LinkedHashMap<String, Type>, Map<Class<?>, LinkedHashMap<String, Type>>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Inner class could reference outer class generics and so this generics must be included into class context.
findContextByDeclarationType(Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
Search class in current hierarchy, containing declaration type.
findIncompatibleVariable(Type, Class<?>, GenericDeclarationScope, GenericDeclaration) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Generics visibility (from inside context class): Generics declared on class Generics declared on outer class (if current is inner) Constructor generics (if inside constructor) Method generics (if inside method) .
findVariables(Type) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Searches for generic variable declarations in type.
formatSource(GenericDeclaration) - Static method in exception ru.vyarus.java.generics.resolver.error.GenericSourceException
 
from(GenericDeclaration) - Static method in enum ru.vyarus.java.generics.resolver.context.GenericDeclarationScope
Note that currently all possible scopes are covered.

G

generic(int) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class A extends B<Object, C<Long>>.
generic(String) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class B<T, K>.
GenericArrayTypeImpl - Class in ru.vyarus.java.generics.resolver.context.container
Wrapper to hold resolved array type.
GenericArrayTypeImpl(Type) - Constructor for class ru.vyarus.java.generics.resolver.context.container.GenericArrayTypeImpl
 
genericAsString(int) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class A extends B<Object, C<Long>>.
genericAsString(String) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class B<T, K>.
GenericDeclarationScope - Enum in ru.vyarus.java.generics.resolver.context
Enum specifies possible generic declaration sources.
GenericInfoUtils - Class in ru.vyarus.java.generics.resolver.util
Generic info creation logic.
generics() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class A extends B<Object, C<Long>>.
genericsAsString() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class A extends B<Object, C<Long>>.
GenericsContext - Class in ru.vyarus.java.generics.resolver.context
Generics context of specific type (class) or inlying context (when root type context known).
GenericsContext(GenericsInfo, Class<?>) - Constructor for class ru.vyarus.java.generics.resolver.context.GenericsContext
 
GenericsContext(GenericsInfo, Class<?>, GenericsContext) - Constructor for class ru.vyarus.java.generics.resolver.context.GenericsContext
 
GenericsContext.RootContextAwareTypeWriter - Class in ru.vyarus.java.generics.resolver.context
Hierarchy writer with root context info (if available).
GenericsException - Exception in ru.vyarus.java.generics.resolver.error
Base class for generic-related exceptions.
GenericsException(String) - Constructor for exception ru.vyarus.java.generics.resolver.error.GenericsException
 
GenericsException(String, Throwable) - Constructor for exception ru.vyarus.java.generics.resolver.error.GenericsException
 
genericsInfo - Variable in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
 
GenericsInfo - Class in ru.vyarus.java.generics.resolver.context
Holds types hierarchy resolved generics information.
GenericsInfo(Class<?>, Map<Class<?>, LinkedHashMap<String, Type>>, Class...) - Constructor for class ru.vyarus.java.generics.resolver.context.GenericsInfo
 
GenericsInfo.DefaultTypeWriter - Class in ru.vyarus.java.generics.resolver.context
Default hierarchy writer implementation.
GenericsInfo.TypeWriter - Interface in ru.vyarus.java.generics.resolver.context
Customization interface to control types hierarchy to string behaviour.
GenericsInfoFactory - Class in ru.vyarus.java.generics.resolver.context
Analyze class hierarchy and produce object with resolved generics for each class.
genericsMap() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class A extends B<Object, C<Long>> and class B<T, K>.
GenericSourceException - Exception in ru.vyarus.java.generics.resolver.error
Base exception for unexpected generics errors.
GenericSourceException(String) - Constructor for exception ru.vyarus.java.generics.resolver.error.GenericSourceException
 
GenericSourceException(String, Throwable) - Constructor for exception ru.vyarus.java.generics.resolver.error.GenericSourceException
 
GenericsResolutionException - Exception in ru.vyarus.java.generics.resolver.error
Exception indicates error during type's generics resolution process.
GenericsResolutionException(Class<?>, LinkedHashMap<String, Type>, Map<Class<?>, LinkedHashMap<String, Type>>, Exception) - Constructor for exception ru.vyarus.java.generics.resolver.error.GenericsResolutionException
 
GenericsResolutionUtils - Class in ru.vyarus.java.generics.resolver.util
Generics analysis utilities.
GenericsResolver - Class in ru.vyarus.java.generics.resolver
Resolves class hierarchy generics and provides api for introspection.
GenericsTrackingException - Exception in ru.vyarus.java.generics.resolver.error
Exception indicates generics tracking error (from some known middle type to root type).
GenericsTrackingException(Class<?>, Class<?>, LinkedHashMap<String, Type>, Exception) - Constructor for exception ru.vyarus.java.generics.resolver.error.GenericsTrackingException
 
GenericsTrackingUtils - Class in ru.vyarus.java.generics.resolver.util
Utilities to track root generic value from some known subtype generics.
GenericsUtils - Class in ru.vyarus.java.generics.resolver.util
Helper utilities to correctly resolve generified types of super interfaces.
genericType(int) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class A extends B<Object, C<Long>>.
genericType(String) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class B<T, K>.
genericTypes() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
class A extends B<Object, C<Long>>.
get(Object) - Method in class ru.vyarus.java.generics.resolver.util.map.IgnoreGenericsMap
 
get(Object) - Method in class ru.vyarus.java.generics.resolver.util.map.PrintableGenericsMap
 
getActualTypeArguments() - Method in class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
getBounds() - Method in class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
getComposingTypes() - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
 
getContextType() - Method in exception ru.vyarus.java.generics.resolver.error.GenericSourceException
 
getContextType() - Method in exception ru.vyarus.java.generics.resolver.error.UnknownGenericException
 
getContextType() - Method in exception ru.vyarus.java.generics.resolver.error.WrongGenericsContextException
 
getDeclarationClass(TypeVariable) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
 
getDeclarationClass(GenericDeclaration) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
 
getDeclarationSource() - Method in class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
getFirst() - Method in exception ru.vyarus.java.generics.resolver.error.IncompatibleTypesException
 
getGenericComponentType() - Method in class ru.vyarus.java.generics.resolver.context.container.GenericArrayTypeImpl
 
getGenericName() - Method in exception ru.vyarus.java.generics.resolver.error.GenericSourceException
 
getGenericName() - Method in exception ru.vyarus.java.generics.resolver.error.UnknownGenericException
 
getGenericName() - Method in exception ru.vyarus.java.generics.resolver.error.WrongGenericsContextException
 
getGenerics(Type, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
If type is a variable, looks actual variable type, if it contains generics.
getGenericsInfo() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
 
getGenericSource() - Method in exception ru.vyarus.java.generics.resolver.error.GenericSourceException
 
getGenericSource() - Method in exception ru.vyarus.java.generics.resolver.error.UnknownGenericException
 
getGenericSource() - Method in exception ru.vyarus.java.generics.resolver.error.WrongGenericsContextException
 
getGenericsScope() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
For example, CLASS scope could resolve only class level generics, whereas METHOD could see method context generics.
getGenericsScope() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
getGenericsScope() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
getGenericsScope() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
getGenericsSource() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Declaration source could be: class, method or constructor.
getGenericsSource() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
getGenericsSource() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
getGenericsSource() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
getIgnoredTypes() - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
 
getInstance() - Static method in class ru.vyarus.java.generics.resolver.util.map.EmptyGenericsMap
 
getInstance() - Static method in class ru.vyarus.java.generics.resolver.util.map.IgnoreGenericsMap
 
getKnownGenerics() - Method in exception ru.vyarus.java.generics.resolver.error.GenericsResolutionException
 
getKnownType() - Method in exception ru.vyarus.java.generics.resolver.error.GenericsTrackingException
 
getKnownTypeGenerics() - Method in exception ru.vyarus.java.generics.resolver.error.GenericsTrackingException
 
getLowerBounds() - Method in class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
?
getMoreSpecificType(Type, Type) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
Not resolved type variables are resolved to Object.
getName() - Method in class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
getOuter(Type) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
May return ParameterizedType if incoming type contains owner declaration like Outer<String>.Inner field (field.getGenericType() will contain outer generic).
getOwnerType() - Method in class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
getRawType() - Method in class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
getReturnClass(Method, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Called to properly resolve return type of root finder or inherited finder method.
getRootClass() - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
 
getRootGenerics() - Method in exception ru.vyarus.java.generics.resolver.error.GenericsResolutionException
 
getSecond() - Method in exception ru.vyarus.java.generics.resolver.error.IncompatibleTypesException
 
getType() - Method in exception ru.vyarus.java.generics.resolver.error.GenericsResolutionException
 
getType() - Method in exception ru.vyarus.java.generics.resolver.error.GenericsTrackingException
 
getType() - Method in exception ru.vyarus.java.generics.resolver.error.WrongGenericsContextException
 
getTypeGenerics(Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
 
getTypesMap() - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
 
getUpperBounds() - Method in class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
?

H

hashCode() - Method in class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
hashCode() - Method in class ru.vyarus.java.generics.resolver.context.container.GenericArrayTypeImpl
 
hashCode() - Method in class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
hashCode() - Method in class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
 

I

IgnoreGenericsMap - Class in ru.vyarus.java.generics.resolver.util.map
Special map for defining ignorable generics in order to resolve unknown generic variable to simple Object.
IgnoreGenericsMap() - Constructor for class ru.vyarus.java.generics.resolver.util.map.IgnoreGenericsMap
 
IgnoreGenericsMap(Map<? extends String, ? extends Type>) - Constructor for class ru.vyarus.java.generics.resolver.util.map.IgnoreGenericsMap
 
incompatibleHierarchy(Type, Type) - Method in class ru.vyarus.java.generics.resolver.util.walk.AssignabilityTypesVisitor
 
incompatibleHierarchy(Type, Type) - Method in class ru.vyarus.java.generics.resolver.util.walk.ComparatorTypesVisitor
 
incompatibleHierarchy(Type, Type) - Method in class ru.vyarus.java.generics.resolver.util.walk.CompatibilityTypesVisitor
 
incompatibleHierarchy(Type, Type) - Method in interface ru.vyarus.java.generics.resolver.util.walk.TypesVisitor
Called when synchronous walk is impossible.
IncompatibleTypesException - Exception in ru.vyarus.java.generics.resolver.error
Exception indicates types incompatibility.
IncompatibleTypesException(Type, Type) - Constructor for exception ru.vyarus.java.generics.resolver.error.IncompatibleTypesException
 
IncompatibleTypesException(String, Type, Type) - Constructor for exception ru.vyarus.java.generics.resolver.error.IncompatibleTypesException
 
inlyingType(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Build generics context for type in context of current class.
inlyingType(Type) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
inlyingTypeAs(Type, Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Build generics context for type extending some generic type in context of current class.
inlyingTypeAs(Type, Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
isAssignable(Type, Type) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
Checks if type could be casted to type.
isAssignable() - Method in class ru.vyarus.java.generics.resolver.util.walk.AssignabilityTypesVisitor
 
isAssignableBounds(Class[], Class[]) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
Method is useful for wildcards processing.
isCacheEnabled() - Static method in class ru.vyarus.java.generics.resolver.context.GenericsInfoFactory
 
isCompatible(GenericDeclarationScope) - Method in enum ru.vyarus.java.generics.resolver.context.GenericDeclarationScope
Generics visibility compatibility.
isCompatible(Type, Type) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
Check if types are compatible: types must be equal or one extend another.
isCompatible() - Method in class ru.vyarus.java.generics.resolver.util.walk.ComparatorTypesVisitor
 
isCompatible() - Method in class ru.vyarus.java.generics.resolver.util.walk.CompatibilityTypesVisitor
 
isInlying() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
During reflection analysis it's common to review some internal type like field or method return type.
isInner(Type) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
class Owner<T> { class Inner { T field; // parent generic reference } }.
isMoreSpecific(Type, Type) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
Checks if type is more specific than provided one.
isMoreSpecific() - Method in class ru.vyarus.java.generics.resolver.util.walk.ComparatorTypesVisitor
 

L

lower(Type) - Static method in class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
?

M

method(Method) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Navigates current context to specific method (type context is switched to method declaring class).
method(Method) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
method(Method) - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
MethodGenericsContext - Class in ru.vyarus.java.generics.resolver.context
Method generics context.
MethodGenericsContext(GenericsInfo, Method, GenericsContext) - Constructor for class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
methodGenericsMap() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
class A<E> { <T, K extends E> K method(T arg); } class B extends A<Serializable> {} context.method(A.class.getMethod("method", Object.class)).methodGenericsMap() == ["T": Object.class, "K": Serializable.class] For method generics it's impossible to know actual type (available only in time of method call), so generics resolved as upper bound.
methodGenericTypes() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
<T extends Serializable> T method();.

N

next(Type, Type) - Method in class ru.vyarus.java.generics.resolver.util.walk.AssignabilityTypesVisitor
 
next(Type, Type) - Method in class ru.vyarus.java.generics.resolver.util.walk.ComparatorTypesVisitor
 
next(Type, Type) - Method in class ru.vyarus.java.generics.resolver.util.walk.CompatibilityTypesVisitor
 
next(Type, Type) - Method in interface ru.vyarus.java.generics.resolver.util.walk.TypesVisitor
Method is called for each matching types pair in types hierarchy.

O

orderVariablesForResolution(List<TypeVariable>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Order variables for consequent variables resolution (to support reverse order declaration cases).
ownerClass() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
class Owner<T> { class Inner { T field; } }.
ownerGenerics - Variable in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
ownerGenericsMap() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
Inner class may use outer generics like this: class Owner<T> { class Inner { T field; } }.
ownerType - Variable in class ru.vyarus.java.generics.resolver.context.GenericsContext
 

P

ParameterizedTypeImpl - Class in ru.vyarus.java.generics.resolver.context.container
Wrapper to hold resolved parametrization.
ParameterizedTypeImpl(Type, Type...) - Constructor for class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
ParameterizedTypeImpl(Type, Type[], Type) - Constructor for class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
parameterType(int) - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
Create generics context for parameter type (with correctly resolved root generics).
parameterType(int) - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Create generics context for parameter type (with correctly resolved root generics).
parameterTypeAs(int, Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
Create generics context for actual class, passed into parameter type (assuming you have access to that instance or know exact type).
parameterTypeAs(int, Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Create generics context for actual class, passed into parameter type (assuming you have access to that instance or know exact type).
PrintableGenericsMap - Class in ru.vyarus.java.generics.resolver.util.map
Special map to use with TypeToStringUtils in order to see generic name in the resulted string.
PrintableGenericsMap() - Constructor for class ru.vyarus.java.generics.resolver.util.map.PrintableGenericsMap
 
PrintableGenericsMap(Map<? extends String, ? extends Type>) - Constructor for class ru.vyarus.java.generics.resolver.util.map.PrintableGenericsMap
 
put(String, Type) - Method in class ru.vyarus.java.generics.resolver.util.map.EmptyGenericsMap
 
put(String, Type) - Method in class ru.vyarus.java.generics.resolver.util.map.IgnoreGenericsMap
 
putAll(Map<? extends String, ? extends Type>) - Method in class ru.vyarus.java.generics.resolver.util.map.EmptyGenericsMap
 
putAll(Map<? extends String, ? extends Type>) - Method in class ru.vyarus.java.generics.resolver.util.map.IgnoreGenericsMap
 

R

resolve(Class<?>, Class<?>...) - Static method in class ru.vyarus.java.generics.resolver.GenericsResolver
By default returned context set on root class (but generic types for root class will be resolved from specified generics bounds).
resolve(Class<?>, Class<?>...) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Analyze class hierarchy and resolve actual generic values for all composing types.
resolve(Class<?>, LinkedHashMap<String, Type>, Map<Class<?>, LinkedHashMap<String, Type>>, List<Class<?>>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Analyze class hierarchy and resolve actual generic values for all composing types.
resolveClass(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Useful for introspection to know exact class of type.
resolveClass(Type, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Resolves top class for provided type (for example, for generified classes like List<T> it returns base type List).
resolveClasses(Type[], Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Resolve classes of provided types.
resolveDirectRawGenerics(Class<?>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Resolve type generics by declaration (as upper bound).
resolveDirectRawGenerics(Method, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Resolve method generics by declaration (as upper bound).
resolveDirectRawGenerics(Constructor, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Resolve constructor generics by declaration (as upper bound).
resolveFieldClass(Field) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Shortcut for AbstractGenericsContext.resolveClass(Type) for fields (same as resolveClass(field.getGenericType()).
resolveFieldGeneric(Field) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Shortcut for AbstractGenericsContext.resolveGenericOf(Type) for fields (same as resolveGenericOf(field.getGenericType())).
resolveFieldGenerics(Field) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Shortcut for AbstractGenericsContext.resolveGenericsOf(Type) for fields (same as resolveGenericsOf(field.getGenericType()).
resolveFieldType(Field) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
List<T> field could be resolved as resolveFiledType(field) == List<String> as ParameterizedType (if T == String).
resolveGenericOf(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Shortcut for AbstractGenericsContext.resolveGenericsOf(Type) useful for single generic types or when just first generic required.
resolveGenerics(Type, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Resolve declared generics for type (actually declared generics in context of some type).
resolveGenericsOf(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Useful for introspection, to know exact generic value.
resolveGenericsOf(Type, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Called to properly resolve generified type (e.g. generified method return).
resolveParameters() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
Useful for introspection, to know exact parameter types.
resolveParameters() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Useful for introspection, to know exact parameter types.
resolveParametersTypes() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
Returns parameter types with resolved generic variables.
resolveParametersTypes() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Returns parameter types with resolved generic variables.
resolveParameterType(int) - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
Note: may return primitive because it might be important to differentiate actual value.
resolveParameterType(int) - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Note: may return primitives because it might be important to differentiate actual value.
resolveRawGeneric(TypeVariable, LinkedHashMap<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Extracts declared upper bound from generic declaration.
resolveRawGenerics(Class<?>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsResolutionUtils
Resolve type generics by declaration (as upper bound).
resolveReturnClass() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Useful for introspection, to know exact return type of generified method.
resolveReturnType() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
class B extends A<Long> {} class A<T> { List<T> get(); }.
resolveReturnTypeGeneric() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Shortcut for MethodGenericsContext.resolveReturnTypeGenerics() useful for single generic types or when just first generic required.
resolveReturnTypeGenerics() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Useful for introspection, to know exact generic value.
resolveType(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Replace all named variables in type with actual generics.
resolveTypeGenerics(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Returns generics of type with all named variables replaced in types with actual generics.
resolveTypeVariables(Type, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Resolve type generics.
resolveTypeVariables(Type[], Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
Shortcut for GenericsUtils.resolveTypeVariables(Type, Map) to process multiple types at once.
resolveUpperBounds(Type, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsUtils
In most cases GenericsUtils.resolveClass(Type, Map) could be used instead (for simplicity).
rethrowWithType(Class<?>) - Method in exception ru.vyarus.java.generics.resolver.error.UnknownGenericException
Throw more specific exception.
returnType() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Create generics context for return type (with correctly resolved root generics).
returnTypeAs(Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
Create generics context for actual class, returned form method (assuming you have access to that instance or know exact type).
rootContext() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
RootContextAwareTypeWriter() - Constructor for class ru.vyarus.java.generics.resolver.context.GenericsContext.RootContextAwareTypeWriter
 
ru.vyarus.java.generics.resolver - package ru.vyarus.java.generics.resolver
 
ru.vyarus.java.generics.resolver.context - package ru.vyarus.java.generics.resolver.context
 
ru.vyarus.java.generics.resolver.context.container - package ru.vyarus.java.generics.resolver.context.container
 
ru.vyarus.java.generics.resolver.error - package ru.vyarus.java.generics.resolver.error
 
ru.vyarus.java.generics.resolver.util - package ru.vyarus.java.generics.resolver.util
 
ru.vyarus.java.generics.resolver.util.map - package ru.vyarus.java.generics.resolver.util.map
 
ru.vyarus.java.generics.resolver.util.walk - package ru.vyarus.java.generics.resolver.util.walk
 

S

SHIFT_MARKER - Static variable in class ru.vyarus.java.generics.resolver.context.GenericsInfo
Single shift marker used to identity hierarchy level for toString.
switchContext(Class, String) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Used to switch to appropriate context or fail if type is not found in hierarchy.
switchContext(Class, String) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 

T

toString() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
toString() - Method in class ru.vyarus.java.generics.resolver.context.container.ExplicitTypeVariable
 
toString() - Method in class ru.vyarus.java.generics.resolver.context.container.GenericArrayTypeImpl
 
toString() - Method in class ru.vyarus.java.generics.resolver.context.container.ParameterizedTypeImpl
 
toString() - Method in class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
 
toString() - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
toString() - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
 
toString() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
toStringConstructor() - Method in class ru.vyarus.java.generics.resolver.context.ConstructorGenericsContext
 
toStringConstructor(Constructor, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.TypeToStringUtils
class B extends A<Long> {} class A<T> { A(T arg); } Constructor method = A.class.getConstructor(Object.class); Map<String, Type> generics = (context of B).method().visibleGenericsMap(); TypeToStringUtils.toStringConstructor(constructor, generics) == "A(Long)" .
toStringCurrentClass() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
For example, class Root extends Base<String> (and we resolve generics from Root): context.toStringCurrentClass() == "Root" and context.type(Base.class).toStringCurrentClass() == "Base<String>".
toStringCurrentClassDeclaration() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
For example, Base<T>.
toStringHierarchy(GenericsInfo.TypeWriter) - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo
Write current root class hierarchy with resolved generics.
toStringMethod() - Method in class ru.vyarus.java.generics.resolver.context.MethodGenericsContext
 
toStringMethod(Method, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.TypeToStringUtils
class B extends A<Long> {} class A<T> { List<T> get(T one); } Method method = A.class.getMethod("get", Object.class); Map<String, Type> generics = (context of B).method().visibleGenericsMap(); TypeToStringUtils.toStringMethod(method, generics) == "List<Long> get(Long)" .
toStringType(Type) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Useful for reporting or maybe logging.
toStringType(Type, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.TypeToStringUtils
Prints type as string.
toStringWithGenerics(Class<?>, Map<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.TypeToStringUtils
Formats class as Class<generics>.
toStringWithNamedGenerics(Class<?>) - Static method in class ru.vyarus.java.generics.resolver.util.TypeToStringUtils
Print class with generic variables.
track(Class<?>, Class<?>, LinkedHashMap<String, Type>) - Static method in class ru.vyarus.java.generics.resolver.util.GenericsTrackingUtils
Track root generics with known middle type generic.
type(Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
Navigates current context to specific type in class hierarchy.
type(Class<?>) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext
 
typeGenerics - Variable in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
 
TypesVisitor - Interface in ru.vyarus.java.generics.resolver.util.walk
Visitor interface for TypesWalker.
TypesWalker - Class in ru.vyarus.java.generics.resolver.util.walk
Deep types analysis utility.
TypeToStringUtils - Class in ru.vyarus.java.generics.resolver.util
Builds string representation for type in context of generified class.
TypeUtils - Class in ru.vyarus.java.generics.resolver.util
Generic-agnostic type operations.

U

UnknownGenericException - Exception in ru.vyarus.java.generics.resolver.error
Thrown during type resolution when found generic name is not declared.
UnknownGenericException(String, GenericDeclaration) - Constructor for exception ru.vyarus.java.generics.resolver.error.UnknownGenericException
 
UnknownGenericException(Class<?>, String, GenericDeclaration) - Constructor for exception ru.vyarus.java.generics.resolver.error.UnknownGenericException
 
upper(Type...) - Static method in class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
?

V

valueOf(String) - Static method in enum ru.vyarus.java.generics.resolver.context.GenericDeclarationScope
Returns the enum constant of this type with the specified name.
values() - Static method in enum ru.vyarus.java.generics.resolver.context.GenericDeclarationScope
Returns an array containing the constants of this enum type, in the order they are declared.
visibleGenericsMap() - Method in class ru.vyarus.java.generics.resolver.context.AbstractGenericsContext
All reachable generics.

W

walk(Type, Type, TypesVisitor) - Static method in class ru.vyarus.java.generics.resolver.util.walk.TypesWalker
Walk will stop if visitor tells it's enough or when hierarchy incompatibility will be found.
WildcardTypeImpl - Class in ru.vyarus.java.generics.resolver.context.container
Wrapper to hold resolved bounds types.
WildcardTypeImpl(Type[], Type[]) - Constructor for class ru.vyarus.java.generics.resolver.context.container.WildcardTypeImpl
 
wrapPrimitive(Class<?>) - Static method in class ru.vyarus.java.generics.resolver.util.TypeUtils
 
write(Class<?>, Map<String, Type>, Class<?>, Map<String, Type>, String) - Method in class ru.vyarus.java.generics.resolver.context.GenericsContext.RootContextAwareTypeWriter
 
write(Class<?>, Map<String, Type>, Class<?>, Map<String, Type>, String) - Method in class ru.vyarus.java.generics.resolver.context.GenericsInfo.DefaultTypeWriter
 
write(Class<?>, Map<String, Type>, Class<?>, Map<String, Type>, String) - Method in interface ru.vyarus.java.generics.resolver.context.GenericsInfo.TypeWriter
Hierarchy is printed from the root class, each class on new line with shift (to represent hierarchy).
WrongGenericsContextException - Exception in ru.vyarus.java.generics.resolver.error
Thrown to indicate generics not resolvable under current context class (because generics could use the same names and incorrect context could lead to hard to track errors).
WrongGenericsContextException(Type, TypeVariable, Class<?>, GenericsInfo) - Constructor for exception ru.vyarus.java.generics.resolver.error.WrongGenericsContextException
 
A C D E F G H I L M N O P R S T U V W 
Skip navigation links