Class ElementUtils


  • public class ElementUtils
    extends java.lang.Object
    THIS IS NOT PUBLIC API.
    • Constructor Summary

      Constructors 
      Constructor Description
      ElementUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static javax.lang.model.type.TypeMirror boxType​(ProcessorContext context, javax.lang.model.type.TypeMirror primitiveType)  
      static boolean canThrowType​(java.util.List<? extends javax.lang.model.type.TypeMirror> thrownTypes, javax.lang.model.type.TypeMirror exceptionType)  
      static java.util.List<javax.lang.model.element.AnnotationMirror> collectAnnotations​(ProcessorContext context, javax.lang.model.element.AnnotationMirror markerAnnotation, java.lang.String elementName, javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)  
      static int compareByTypeHierarchy​(javax.lang.model.type.TypeMirror t1, javax.lang.model.type.TypeMirror t2)  
      static java.lang.String createConstantName​(java.lang.String simpleName)  
      static java.lang.String createReferenceName​(javax.lang.model.element.ExecutableElement method)  
      static javax.lang.model.type.TypeMirror eraseGenericTypes​(javax.lang.model.type.TypeMirror type)  
      static javax.lang.model.type.TypeMirror fillInGenericWildcards​(javax.lang.model.type.TypeMirror type)  
      static javax.lang.model.element.AnnotationMirror findAnnotationMirror​(java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors, javax.lang.model.element.TypeElement expectedAnnotationType)  
      static javax.lang.model.element.AnnotationMirror findAnnotationMirror​(javax.annotation.processing.ProcessingEnvironment processingEnv, java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors, java.lang.Class<?> annotationClass)  
      static javax.lang.model.element.AnnotationMirror findAnnotationMirror​(javax.annotation.processing.ProcessingEnvironment processingEnv, javax.lang.model.element.Element element, java.lang.Class<?> annotationClass)  
      static javax.lang.model.element.ExecutableElement findExecutableElement​(javax.lang.model.type.DeclaredType type, java.lang.String name)  
      static javax.lang.model.element.TypeElement findNearestEnclosingType​(javax.lang.model.element.Element element)  
      static javax.lang.model.element.PackageElement findPackageElement​(javax.lang.model.element.Element type)  
      static javax.lang.model.element.TypeElement findRootEnclosingType​(javax.lang.model.element.Element element)  
      static javax.lang.model.element.VariableElement findVariableElement​(javax.lang.model.type.DeclaredType type, java.lang.String name)  
      static java.lang.String firstLetterLowerCase​(java.lang.String name)  
      static java.lang.String firstLetterUpperCase​(java.lang.String name)  
      static java.lang.String fixECJBinaryNameIssue​(java.lang.String name)  
      static javax.lang.model.element.TypeElement fromTypeMirror​(javax.lang.model.type.TypeMirror mirror)  
      static <T> T getAnnotationValue​(java.lang.Class<T> expectedType, javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)  
      static javax.lang.model.element.AnnotationValue getAnnotationValue​(javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)  
      static <T> java.util.List<T> getAnnotationValueList​(java.lang.Class<T> expectedListType, javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)  
      static java.util.List<javax.lang.model.type.TypeMirror> getAssignableTypes​(ProcessorContext context, javax.lang.model.type.TypeMirror type)  
      static javax.lang.model.type.TypeMirror getCommonSuperType​(ProcessorContext context, javax.lang.model.type.TypeMirror[] types)  
      static java.util.List<javax.lang.model.element.ExecutableElement> getDeclaredMethodsInSuperTypes​(javax.lang.model.element.TypeElement declaringElement, java.lang.String name, javax.lang.model.type.TypeMirror... params)
      Gets the methods in the super type hierarchy (excluding interfaces) that are overridden by a method in a subtype.
      static java.lang.String getDeclaredName​(javax.lang.model.type.DeclaredType element, boolean includeTypeVariables)  
      static javax.lang.model.type.DeclaredType getDeclaredType​(javax.lang.model.element.TypeElement typeElem, javax.lang.model.type.TypeMirror... typeArgs)  
      static java.util.List<javax.lang.model.element.TypeElement> getDeclaredTypes​(javax.lang.model.element.TypeElement element)  
      static java.util.List<javax.lang.model.element.TypeElement> getDirectSuperTypes​(javax.lang.model.element.TypeElement element)  
      static java.util.List<javax.lang.model.element.Element> getElementHierarchy​(javax.lang.model.element.Element e)  
      static java.lang.String getEnclosedQualifiedName​(javax.lang.model.type.DeclaredType mirror)  
      static java.lang.String getPackageName​(javax.lang.model.element.TypeElement element)  
      static java.lang.String getPackageName​(javax.lang.model.type.TypeMirror mirror)  
      static java.lang.String getQualifiedName​(javax.lang.model.element.TypeElement element)  
      static java.lang.String getQualifiedName​(javax.lang.model.type.TypeMirror mirror)  
      static java.util.List<java.lang.String> getQualifiedSuperTypeNames​(javax.lang.model.element.TypeElement element)  
      static java.lang.String getReadableSignature​(javax.lang.model.element.ExecutableElement method)  
      static java.lang.String getSimpleName​(javax.lang.model.element.TypeElement element)  
      static java.lang.String getSimpleName​(javax.lang.model.type.TypeMirror mirror)  
      static javax.lang.model.element.TypeElement getSuperType​(javax.lang.model.element.TypeElement element)
      Gets the element representing the super class of a given type element.
      static java.util.List<javax.lang.model.element.TypeElement> getSuperTypes​(javax.lang.model.element.TypeElement element)  
      static javax.lang.model.type.TypeMirror getType​(javax.annotation.processing.ProcessingEnvironment processingEnv, java.lang.Class<?> element)  
      static java.lang.String getTypeId​(javax.lang.model.type.TypeMirror mirror)  
      static java.lang.String getUniqueIdentifier​(javax.lang.model.type.TypeMirror typeMirror)  
      static javax.lang.model.element.Modifier getVisibility​(java.util.Set<javax.lang.model.element.Modifier> modifier)  
      static boolean hasError​(javax.lang.model.type.TypeMirror mirror)  
      static boolean isAssignable​(javax.lang.model.type.TypeMirror from, javax.lang.model.type.TypeMirror to)  
      static boolean isDeclaredMethodInSuperType​(javax.lang.model.element.TypeElement element, java.lang.String name, javax.lang.model.type.TypeMirror[] params)  
      static boolean isEnclosedIn​(javax.lang.model.element.Element enclosedIn, javax.lang.model.element.Element element)  
      static boolean isObject​(javax.lang.model.type.TypeMirror actualType)  
      static boolean isPrimitive​(javax.lang.model.type.TypeMirror mirror)  
      static boolean isSubtype​(javax.lang.model.type.TypeMirror type1, javax.lang.model.type.TypeMirror type2)  
      static boolean isTopLevelClass​(javax.lang.model.type.TypeMirror importType)  
      static boolean isVoid​(javax.lang.model.type.TypeMirror mirror)  
      static java.util.Set<javax.lang.model.element.Modifier> modifiers​(javax.lang.model.element.Modifier... modifier)  
      static boolean needsCastTo​(javax.lang.model.type.TypeMirror sourceType, javax.lang.model.type.TypeMirror targetType)  
      static java.lang.String printException​(java.lang.Throwable e)  
      static boolean typeEquals​(javax.lang.model.type.TypeMirror type1, javax.lang.model.type.TypeMirror type2)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ElementUtils

        public ElementUtils()
    • Method Detail

      • getType

        public static javax.lang.model.type.TypeMirror getType​(javax.annotation.processing.ProcessingEnvironment processingEnv,
                                                               java.lang.Class<?> element)
      • findExecutableElement

        public static javax.lang.model.element.ExecutableElement findExecutableElement​(javax.lang.model.type.DeclaredType type,
                                                                                       java.lang.String name)
      • needsCastTo

        public static boolean needsCastTo​(javax.lang.model.type.TypeMirror sourceType,
                                          javax.lang.model.type.TypeMirror targetType)
      • createReferenceName

        public static java.lang.String createReferenceName​(javax.lang.model.element.ExecutableElement method)
      • findVariableElement

        public static javax.lang.model.element.VariableElement findVariableElement​(javax.lang.model.type.DeclaredType type,
                                                                                   java.lang.String name)
      • boxType

        public static javax.lang.model.type.TypeMirror boxType​(ProcessorContext context,
                                                               javax.lang.model.type.TypeMirror primitiveType)
      • getDeclaredType

        public static javax.lang.model.type.DeclaredType getDeclaredType​(javax.lang.model.element.TypeElement typeElem,
                                                                         javax.lang.model.type.TypeMirror... typeArgs)
      • collectAnnotations

        public static java.util.List<javax.lang.model.element.AnnotationMirror> collectAnnotations​(ProcessorContext context,
                                                                                                   javax.lang.model.element.AnnotationMirror markerAnnotation,
                                                                                                   java.lang.String elementName,
                                                                                                   javax.lang.model.element.Element element,
                                                                                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
      • getCommonSuperType

        public static javax.lang.model.type.TypeMirror getCommonSuperType​(ProcessorContext context,
                                                                          javax.lang.model.type.TypeMirror[] types)
      • getReadableSignature

        public static java.lang.String getReadableSignature​(javax.lang.model.element.ExecutableElement method)
      • hasError

        public static boolean hasError​(javax.lang.model.type.TypeMirror mirror)
      • isSubtype

        public static boolean isSubtype​(javax.lang.model.type.TypeMirror type1,
                                        javax.lang.model.type.TypeMirror type2)
      • isAssignable

        public static boolean isAssignable​(javax.lang.model.type.TypeMirror from,
                                           javax.lang.model.type.TypeMirror to)
      • modifiers

        public static java.util.Set<javax.lang.model.element.Modifier> modifiers​(javax.lang.model.element.Modifier... modifier)
      • getTypeId

        public static java.lang.String getTypeId​(javax.lang.model.type.TypeMirror mirror)
      • getSimpleName

        public static java.lang.String getSimpleName​(javax.lang.model.element.TypeElement element)
      • getSimpleName

        public static java.lang.String getSimpleName​(javax.lang.model.type.TypeMirror mirror)
      • getDeclaredName

        public static java.lang.String getDeclaredName​(javax.lang.model.type.DeclaredType element,
                                                       boolean includeTypeVariables)
      • fixECJBinaryNameIssue

        public static java.lang.String fixECJBinaryNameIssue​(java.lang.String name)
      • getQualifiedName

        public static java.lang.String getQualifiedName​(javax.lang.model.element.TypeElement element)
      • getQualifiedName

        public static java.lang.String getQualifiedName​(javax.lang.model.type.TypeMirror mirror)
      • isVoid

        public static boolean isVoid​(javax.lang.model.type.TypeMirror mirror)
      • isPrimitive

        public static boolean isPrimitive​(javax.lang.model.type.TypeMirror mirror)
      • getQualifiedSuperTypeNames

        public static java.util.List<java.lang.String> getQualifiedSuperTypeNames​(javax.lang.model.element.TypeElement element)
      • getDeclaredTypes

        public static java.util.List<javax.lang.model.element.TypeElement> getDeclaredTypes​(javax.lang.model.element.TypeElement element)
      • isEnclosedIn

        public static boolean isEnclosedIn​(javax.lang.model.element.Element enclosedIn,
                                           javax.lang.model.element.Element element)
      • findRootEnclosingType

        public static javax.lang.model.element.TypeElement findRootEnclosingType​(javax.lang.model.element.Element element)
      • getElementHierarchy

        public static java.util.List<javax.lang.model.element.Element> getElementHierarchy​(javax.lang.model.element.Element e)
      • findNearestEnclosingType

        public static javax.lang.model.element.TypeElement findNearestEnclosingType​(javax.lang.model.element.Element element)
      • getDirectSuperTypes

        public static java.util.List<javax.lang.model.element.TypeElement> getDirectSuperTypes​(javax.lang.model.element.TypeElement element)
      • getAssignableTypes

        public static java.util.List<javax.lang.model.type.TypeMirror> getAssignableTypes​(ProcessorContext context,
                                                                                          javax.lang.model.type.TypeMirror type)
      • getSuperType

        public static javax.lang.model.element.TypeElement getSuperType​(javax.lang.model.element.TypeElement element)
        Gets the element representing the super class of a given type element.
      • getSuperTypes

        public static java.util.List<javax.lang.model.element.TypeElement> getSuperTypes​(javax.lang.model.element.TypeElement element)
      • getPackageName

        public static java.lang.String getPackageName​(javax.lang.model.element.TypeElement element)
      • getEnclosedQualifiedName

        public static java.lang.String getEnclosedQualifiedName​(javax.lang.model.type.DeclaredType mirror)
      • getPackageName

        public static java.lang.String getPackageName​(javax.lang.model.type.TypeMirror mirror)
      • createConstantName

        public static java.lang.String createConstantName​(java.lang.String simpleName)
      • fromTypeMirror

        public static javax.lang.model.element.TypeElement fromTypeMirror​(javax.lang.model.type.TypeMirror mirror)
      • getAnnotationValueList

        public static <T> java.util.List<T> getAnnotationValueList​(java.lang.Class<T> expectedListType,
                                                                   javax.lang.model.element.AnnotationMirror mirror,
                                                                   java.lang.String name)
      • getAnnotationValue

        public static <T> T getAnnotationValue​(java.lang.Class<T> expectedType,
                                               javax.lang.model.element.AnnotationMirror mirror,
                                               java.lang.String name)
      • getAnnotationValue

        public static javax.lang.model.element.AnnotationValue getAnnotationValue​(javax.lang.model.element.AnnotationMirror mirror,
                                                                                  java.lang.String name)
      • printException

        public static java.lang.String printException​(java.lang.Throwable e)
      • findAnnotationMirror

        public static javax.lang.model.element.AnnotationMirror findAnnotationMirror​(javax.annotation.processing.ProcessingEnvironment processingEnv,
                                                                                     javax.lang.model.element.Element element,
                                                                                     java.lang.Class<?> annotationClass)
      • findAnnotationMirror

        public static javax.lang.model.element.AnnotationMirror findAnnotationMirror​(javax.annotation.processing.ProcessingEnvironment processingEnv,
                                                                                     java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors,
                                                                                     java.lang.Class<?> annotationClass)
      • findAnnotationMirror

        public static javax.lang.model.element.AnnotationMirror findAnnotationMirror​(java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors,
                                                                                     javax.lang.model.element.TypeElement expectedAnnotationType)
      • findPackageElement

        public static javax.lang.model.element.PackageElement findPackageElement​(javax.lang.model.element.Element type)
      • firstLetterUpperCase

        public static java.lang.String firstLetterUpperCase​(java.lang.String name)
      • firstLetterLowerCase

        public static java.lang.String firstLetterLowerCase​(java.lang.String name)
      • isDeclaredMethodInSuperType

        public static boolean isDeclaredMethodInSuperType​(javax.lang.model.element.TypeElement element,
                                                          java.lang.String name,
                                                          javax.lang.model.type.TypeMirror[] params)
      • getDeclaredMethodsInSuperTypes

        public static java.util.List<javax.lang.model.element.ExecutableElement> getDeclaredMethodsInSuperTypes​(javax.lang.model.element.TypeElement declaringElement,
                                                                                                                java.lang.String name,
                                                                                                                javax.lang.model.type.TypeMirror... params)
        Gets the methods in the super type hierarchy (excluding interfaces) that are overridden by a method in a subtype.
        Parameters:
        declaringElement - the subtype element declaring the method
        name - the name of the method
        params - the signature of the method
      • typeEquals

        public static boolean typeEquals​(javax.lang.model.type.TypeMirror type1,
                                         javax.lang.model.type.TypeMirror type2)
      • getUniqueIdentifier

        public static java.lang.String getUniqueIdentifier​(javax.lang.model.type.TypeMirror typeMirror)
      • compareByTypeHierarchy

        public static int compareByTypeHierarchy​(javax.lang.model.type.TypeMirror t1,
                                                 javax.lang.model.type.TypeMirror t2)
      • canThrowType

        public static boolean canThrowType​(java.util.List<? extends javax.lang.model.type.TypeMirror> thrownTypes,
                                           javax.lang.model.type.TypeMirror exceptionType)
      • getVisibility

        public static javax.lang.model.element.Modifier getVisibility​(java.util.Set<javax.lang.model.element.Modifier> modifier)
      • isTopLevelClass

        public static boolean isTopLevelClass​(javax.lang.model.type.TypeMirror importType)
      • isObject

        public static boolean isObject​(javax.lang.model.type.TypeMirror actualType)
      • fillInGenericWildcards

        public static javax.lang.model.type.TypeMirror fillInGenericWildcards​(javax.lang.model.type.TypeMirror type)
      • eraseGenericTypes

        public static javax.lang.model.type.TypeMirror eraseGenericTypes​(javax.lang.model.type.TypeMirror type)