@Internal public class GenericUtils extends java.lang.Object
| Modifier | Constructor and Description | 
|---|---|
protected  | 
GenericUtils(javax.lang.model.util.Elements elementUtils,
            javax.lang.model.util.Types typeUtils,
            ModelUtils modelUtils)  | 
| Modifier and Type | Method and Description | 
|---|---|
java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> | 
alignNewGenericsInfo(java.util.List<? extends javax.lang.model.element.TypeParameterElement> typeParameters,
                    java.util.List<? extends javax.lang.model.type.TypeMirror> typeArguments,
                    java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> genericsInfo)
Takes the bound generic information and re-aligns for the new type. 
 | 
java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> | 
alignNewGenericsInfo(javax.lang.model.element.TypeElement typeElement,
                    java.util.List<? extends javax.lang.model.type.TypeMirror> typeArguments,
                    java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> genericsInfo)
Takes a type element and the bound generic information and re-aligns for the new type. 
 | 
java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> | 
buildGenericTypeArgumentElementInfo(javax.lang.model.element.Element element)
Builds type argument information for the given type. 
 | 
java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> | 
buildGenericTypeArgumentElementInfo(javax.lang.model.element.Element element,
                                   javax.lang.model.type.DeclaredType declaredType)
Builds type argument information for the given type. 
 | 
java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> | 
buildGenericTypeArgumentElementInfo(javax.lang.model.element.Element element,
                                   javax.lang.model.type.DeclaredType declaredType,
                                   java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> boundTypes)
Builds type argument information for the given type. 
 | 
protected java.util.Optional<javax.lang.model.type.TypeMirror> | 
getFirstTypeArgument(javax.lang.model.type.TypeMirror type)
Return the first type argument for the given type mirror. 
 | 
java.util.List<? extends javax.lang.model.type.TypeMirror> | 
interfaceGenericTypesFor(javax.lang.model.element.TypeElement element,
                        java.lang.String interfaceName)
Finds the generic types for the given interface for the given class element. 
 | 
protected java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> | 
resolveBoundTypes(javax.lang.model.type.DeclaredType type)
Resolve bound types for the given declared type. 
 | 
protected javax.lang.model.type.TypeMirror | 
resolveTypeReference(javax.lang.model.type.TypeMirror mirror)  | 
protected javax.lang.model.type.TypeMirror | 
resolveTypeReference(javax.lang.model.type.TypeMirror mirror,
                    java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> boundTypes)
Resolve a type reference to use for the given type mirror taking into account generic type variables. 
 | 
protected GenericUtils(javax.lang.model.util.Elements elementUtils,
                       javax.lang.model.util.Types typeUtils,
                       ModelUtils modelUtils)
elementUtils - The ElementstypeUtils - The TypesmodelUtils - The ModelUtilspublic java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> buildGenericTypeArgumentElementInfo(@NonNull javax.lang.model.element.Element element)
element - The elementpublic java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> buildGenericTypeArgumentElementInfo(@NonNull javax.lang.model.element.Element element, @Nullable javax.lang.model.type.DeclaredType declaredType)
element - The elementdeclaredType - The declared typepublic java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> buildGenericTypeArgumentElementInfo(@NonNull javax.lang.model.element.Element element, @Nullable javax.lang.model.type.DeclaredType declaredType, java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> boundTypes)
element - The elementdeclaredType - The declared typeboundTypes - The type variablespublic java.util.List<? extends javax.lang.model.type.TypeMirror> interfaceGenericTypesFor(javax.lang.model.element.TypeElement element,
                                                                                           java.lang.String interfaceName)
element - The class elementinterfaceName - The interfaceprotected java.util.Optional<javax.lang.model.type.TypeMirror> getFirstTypeArgument(javax.lang.model.type.TypeMirror type)
String.type - The typeprotected javax.lang.model.type.TypeMirror resolveTypeReference(javax.lang.model.type.TypeMirror mirror)
mirror - The TypeMirrorprotected javax.lang.model.type.TypeMirror resolveTypeReference(javax.lang.model.type.TypeMirror mirror,
                                                                java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> boundTypes)
mirror - The mirrorboundTypes - The already bound types for any type variableprotected java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> resolveBoundTypes(javax.lang.model.type.DeclaredType type)
type - The declaring typepublic java.util.Map<java.lang.String,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>> alignNewGenericsInfo(javax.lang.model.element.TypeElement typeElement,
                                                                                                                             java.util.List<? extends javax.lang.model.type.TypeMirror> typeArguments,
                                                                                                                             java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> genericsInfo)
typeElement - The type elementtypeArguments - The type argumentsgenericsInfo - The generic infopublic java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> alignNewGenericsInfo(java.util.List<? extends javax.lang.model.element.TypeParameterElement> typeParameters,
                                                                                             java.util.List<? extends javax.lang.model.type.TypeMirror> typeArguments,
                                                                                             java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror> genericsInfo)
typeParameters - The type parameterstypeArguments - The type argumentsgenericsInfo - The generic info