@Internal public class ModelUtils extends java.lang.Object
| Modifier | Constructor and Description | 
|---|---|
protected  | 
ModelUtils(javax.lang.model.util.Elements elementUtils,
          javax.lang.model.util.Types typeUtils)  | 
| Modifier and Type | Method and Description | 
|---|---|
javax.lang.model.element.TypeElement | 
classElementFor(javax.lang.model.element.Element element)
Obtains the  
TypeElement for an given element. | 
javax.lang.model.element.ExecutableElement | 
concreteConstructorFor(javax.lang.model.element.TypeElement classElement,
                      AnnotationUtils annotationUtils)
The constructor inject for the given class element. 
 | 
javax.lang.model.element.ExecutableElement | 
defaultConstructorFor(javax.lang.model.element.TypeElement classElement)  | 
javax.lang.model.element.ExecutableElement | 
defaultStaticCreatorFor(javax.lang.model.element.TypeElement classElement,
                       AnnotationUtils annotationUtils)  | 
java.util.Set<javax.lang.model.element.TypeElement> | 
getAllInterfaces(javax.lang.model.element.TypeElement aClass)  | 
javax.lang.model.util.Types | 
getTypeUtils()  | 
boolean | 
isObjectClass(javax.lang.model.element.TypeElement element)
Return whether the given element is the java.lang.Object class. 
 | 
boolean | 
isPackagePrivate(javax.lang.model.element.Element element)
Returns whether an element is package private. 
 | 
java.util.Optional<javax.lang.model.element.ExecutableElement> | 
overridingOrHidingMethod(javax.lang.model.element.ExecutableElement overridden,
                        javax.lang.model.element.TypeElement classElement,
                        boolean strict)
Tests if candidate method is overridden from a given class or subclass. 
 | 
java.util.Optional<javax.lang.model.element.ElementKind> | 
resolveKind(javax.lang.model.element.Element element)
The Java APT throws an internal exception {code com.sun.tools.javac.code.Symbol$CompletionFailure} if a class is missing from the classpath and  
Element.getKind() is called. | 
java.util.Optional<javax.lang.model.element.ElementKind> | 
resolveKind(javax.lang.model.element.Element element,
           javax.lang.model.element.ElementKind expected)
The Java APT throws an internal exception {code com.sun.tools.javac.code.Symbol$CompletionFailure} if a class is missing from the classpath and  
Element.getKind() is called. | 
javax.lang.model.element.ExecutableElement | 
staticCreatorFor(javax.lang.model.element.TypeElement classElement,
                AnnotationUtils annotationUtils)
The static method or Kotlin companion method to execute to
 construct the given class element. 
 | 
protected ModelUtils(javax.lang.model.util.Elements elementUtils,
                     javax.lang.model.util.Types typeUtils)
elementUtils - The ElementstypeUtils - The Typespublic javax.lang.model.util.Types getTypeUtils()
@Nullable public final javax.lang.model.element.TypeElement classElementFor(javax.lang.model.element.Element element)
TypeElement for an given element.element - The elementTypeElement@Nullable public javax.lang.model.element.ExecutableElement concreteConstructorFor(javax.lang.model.element.TypeElement classElement, AnnotationUtils annotationUtils)
classElement - The class elementannotationUtils - The annotation utilities@Nullable public javax.lang.model.element.ExecutableElement staticCreatorFor(javax.lang.model.element.TypeElement classElement, AnnotationUtils annotationUtils)
classElement - The class elementannotationUtils - The annotation utilitiespublic javax.lang.model.element.ExecutableElement defaultConstructorFor(javax.lang.model.element.TypeElement classElement)
classElement - The class elementpublic javax.lang.model.element.ExecutableElement defaultStaticCreatorFor(javax.lang.model.element.TypeElement classElement,
                                                                          AnnotationUtils annotationUtils)
classElement - The class elementannotationUtils - The annotation utilspublic boolean isObjectClass(javax.lang.model.element.TypeElement element)
element - The elementpublic boolean isPackagePrivate(javax.lang.model.element.Element element)
element - The elementpublic java.util.Set<javax.lang.model.element.TypeElement> getAllInterfaces(javax.lang.model.element.TypeElement aClass)
aClass - A classpublic java.util.Optional<javax.lang.model.element.ExecutableElement> overridingOrHidingMethod(javax.lang.model.element.ExecutableElement overridden,
                                                                                               javax.lang.model.element.TypeElement classElement,
                                                                                               boolean strict)
overridden - the candidate overridden methodclassElement - the type element that may contain the overriding method, either directly or in a subclassstrict - Whether to use strict checks for overriding and not include logic to handle method overloadingpublic java.util.Optional<javax.lang.model.element.ElementKind> resolveKind(javax.lang.model.element.Element element,
                                                                            javax.lang.model.element.ElementKind expected)
Element.getKind() is called. This method
 handles exceptions when calling the getKind() method to avoid this scenario and should be used instead of Element.getKind().element - The elementexpected - The expected kindpublic java.util.Optional<javax.lang.model.element.ElementKind> resolveKind(javax.lang.model.element.Element element)
Element.getKind() is called. This method
 handles exceptions when calling the getKind() method to avoid this scenario and should be used instead of Element.getKind().element - The element