@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 Elements
typeUtils
- The Types
public 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