public class JavaAnnotationMetadataBuilder
extends io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
AnnotationMetadata
for builder for Java to be used at compile time.Constructor and Description |
---|
JavaAnnotationMetadataBuilder(javax.lang.model.util.Elements elements,
javax.annotation.processing.Messager messager,
AnnotationUtils annotationUtils,
ModelUtils modelUtils)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addError(javax.lang.model.element.Element originatingElement,
java.lang.String error) |
protected void |
addWarning(javax.lang.model.element.Element originatingElement,
java.lang.String warning) |
protected java.util.List<javax.lang.model.element.Element> |
buildHierarchy(javax.lang.model.element.Element element,
boolean inheritTypeAnnotations,
boolean declaredOnly) |
static void |
clearCaches()
Clears any caches from the last compilation round.
|
protected io.micronaut.inject.visitor.VisitorContext |
createVisitorContext() |
protected javax.lang.model.element.Element |
getAnnotationMember(javax.lang.model.element.Element originatingElement,
java.lang.CharSequence member) |
protected java.lang.String |
getAnnotationMemberName(javax.lang.model.element.Element member) |
protected java.util.Optional<javax.lang.model.element.Element> |
getAnnotationMirror(java.lang.String annotationName) |
protected java.util.List<? extends javax.lang.model.element.AnnotationMirror> |
getAnnotationsForType(javax.lang.model.element.Element element) |
protected java.lang.String |
getAnnotationTypeName(javax.lang.model.element.AnnotationMirror annotationMirror) |
protected io.micronaut.core.value.OptionalValues<?> |
getAnnotationValues(javax.lang.model.element.Element originatingElement,
javax.lang.model.element.Element member,
java.lang.Class<?> annotationType) |
protected java.lang.String |
getDeclaringType(javax.lang.model.element.Element element) |
protected java.lang.String |
getElementName(javax.lang.model.element.Element element) |
protected io.micronaut.inject.annotation.AnnotatedElementValidator |
getElementValidator() |
protected java.lang.String |
getRepeatableName(javax.lang.model.element.AnnotationMirror annotationMirror) |
protected java.lang.String |
getRepeatableNameForType(javax.lang.model.element.Element annotationType) |
protected java.lang.annotation.RetentionPolicy |
getRetentionPolicy(javax.lang.model.element.Element annotation) |
protected javax.lang.model.element.Element |
getTypeForAnnotation(javax.lang.model.element.AnnotationMirror annotationMirror) |
boolean |
hasAnnotation(javax.lang.model.element.Element element,
java.lang.Class<? extends java.lang.annotation.Annotation> ann)
Checks if a method has an annotation.
|
boolean |
hasAnnotation(javax.lang.model.element.Element element,
java.lang.String ann)
Checks if a method has an annotation.
|
static boolean |
hasAnnotation(javax.lang.model.element.ExecutableElement method,
java.lang.Class<? extends java.lang.annotation.Annotation> ann)
Checks if a method has an annotation.
|
protected boolean |
hasAnnotations(javax.lang.model.element.Element element) |
protected boolean |
isExcludedAnnotation(javax.lang.model.element.Element element,
java.lang.String annotationName) |
protected boolean |
isInheritedAnnotation(javax.lang.model.element.AnnotationMirror annotationMirror) |
protected boolean |
isInheritedAnnotationType(javax.lang.model.element.Element annotationType) |
protected boolean |
isMethodOrClassElement(javax.lang.model.element.Element element) |
protected boolean |
isValidationRequired(javax.lang.model.element.Element member) |
protected java.util.Map<? extends javax.lang.model.element.Element,?> |
readAnnotationDefaultValues(javax.lang.model.element.AnnotationMirror annotationMirror) |
protected java.util.Map<? extends javax.lang.model.element.Element,?> |
readAnnotationDefaultValues(java.lang.String annotationTypeName,
javax.lang.model.element.Element element) |
protected java.util.Map<? extends javax.lang.model.element.Element,?> |
readAnnotationRawValues(javax.lang.model.element.AnnotationMirror annotationMirror) |
protected void |
readAnnotationRawValues(javax.lang.model.element.Element originatingElement,
java.lang.String annotationName,
javax.lang.model.element.Element member,
java.lang.String memberName,
java.lang.Object annotationValue,
java.util.Map<java.lang.CharSequence,java.lang.Object> annotationValues) |
protected java.lang.Object |
readAnnotationValue(javax.lang.model.element.Element originatingElement,
javax.lang.model.element.Element member,
java.lang.String memberName,
java.lang.Object annotationValue) |
addMutatedMetadata, annotate, build, build, buildDeclared, buildDeclared, buildForMethod, buildForParent, buildForParent, buildForParent, buildForParents, buildForParents, buildOverridden, clearMutated, getAnnotationMappers, getAnnotationTransformers, getMappedAnnotationNames, getMappedAnnotationPackages, isAnnotationMapped, isMetadataMutated, populateAnnotationData, populateAnnotationData, readNestedAnnotationValue, removeAnnotation, removeAnnotationIf, removeStereotype, validateAnnotationValue
public JavaAnnotationMetadataBuilder(javax.lang.model.util.Elements elements, javax.annotation.processing.Messager messager, AnnotationUtils annotationUtils, ModelUtils modelUtils)
elements
- The elementUtilsmessager
- The messagerannotationUtils
- The annotation utilsmodelUtils
- The model utils@Nullable protected io.micronaut.inject.annotation.AnnotatedElementValidator getElementValidator()
getElementValidator
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected void addError(@NonNull javax.lang.model.element.Element originatingElement, @NonNull java.lang.String error)
addError
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected void addWarning(@NonNull javax.lang.model.element.Element originatingElement, @NonNull java.lang.String warning)
addWarning
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.lang.String getAnnotationMemberName(javax.lang.model.element.Element member)
getAnnotationMemberName
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
@Nullable protected java.lang.String getRepeatableName(javax.lang.model.element.AnnotationMirror annotationMirror)
getRepeatableName
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
@Nullable protected java.lang.String getRepeatableNameForType(javax.lang.model.element.Element annotationType)
getRepeatableNameForType
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.util.Optional<javax.lang.model.element.Element> getAnnotationMirror(java.lang.String annotationName)
getAnnotationMirror
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected io.micronaut.inject.visitor.VisitorContext createVisitorContext()
createVisitorContext
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
@NonNull protected java.lang.annotation.RetentionPolicy getRetentionPolicy(@NonNull javax.lang.model.element.Element annotation)
getRetentionPolicy
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected boolean isInheritedAnnotation(@NonNull javax.lang.model.element.AnnotationMirror annotationMirror)
isInheritedAnnotation
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected boolean isInheritedAnnotationType(@NonNull javax.lang.model.element.Element annotationType)
isInheritedAnnotationType
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected boolean isMethodOrClassElement(javax.lang.model.element.Element element)
isMethodOrClassElement
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
@NonNull protected java.lang.String getDeclaringType(@NonNull javax.lang.model.element.Element element)
getDeclaringType
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected javax.lang.model.element.Element getTypeForAnnotation(javax.lang.model.element.AnnotationMirror annotationMirror)
getTypeForAnnotation
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.util.List<? extends javax.lang.model.element.AnnotationMirror> getAnnotationsForType(javax.lang.model.element.Element element)
getAnnotationsForType
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected boolean isExcludedAnnotation(@NonNull javax.lang.model.element.Element element, @NonNull java.lang.String annotationName)
isExcludedAnnotation
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.util.List<javax.lang.model.element.Element> buildHierarchy(javax.lang.model.element.Element element, boolean inheritTypeAnnotations, boolean declaredOnly)
buildHierarchy
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.util.Map<? extends javax.lang.model.element.Element,?> readAnnotationRawValues(javax.lang.model.element.AnnotationMirror annotationMirror)
readAnnotationRawValues
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
@Nullable protected javax.lang.model.element.Element getAnnotationMember(javax.lang.model.element.Element originatingElement, java.lang.CharSequence member)
getAnnotationMember
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected io.micronaut.core.value.OptionalValues<?> getAnnotationValues(javax.lang.model.element.Element originatingElement, javax.lang.model.element.Element member, java.lang.Class<?> annotationType)
getAnnotationValues
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected void readAnnotationRawValues(javax.lang.model.element.Element originatingElement, java.lang.String annotationName, javax.lang.model.element.Element member, java.lang.String memberName, java.lang.Object annotationValue, java.util.Map<java.lang.CharSequence,java.lang.Object> annotationValues)
readAnnotationRawValues
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected boolean isValidationRequired(javax.lang.model.element.Element member)
isValidationRequired
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.lang.Object readAnnotationValue(javax.lang.model.element.Element originatingElement, javax.lang.model.element.Element member, java.lang.String memberName, java.lang.Object annotationValue)
readAnnotationValue
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.util.Map<? extends javax.lang.model.element.Element,?> readAnnotationDefaultValues(javax.lang.model.element.AnnotationMirror annotationMirror)
readAnnotationDefaultValues
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.util.Map<? extends javax.lang.model.element.Element,?> readAnnotationDefaultValues(java.lang.String annotationTypeName, javax.lang.model.element.Element element)
readAnnotationDefaultValues
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.lang.String getAnnotationTypeName(javax.lang.model.element.AnnotationMirror annotationMirror)
getAnnotationTypeName
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
protected java.lang.String getElementName(javax.lang.model.element.Element element)
getElementName
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
public boolean hasAnnotation(javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> ann)
hasAnnotation
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
element
- The methodann
- The annotation to look forpublic boolean hasAnnotation(javax.lang.model.element.Element element, java.lang.String ann)
hasAnnotation
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
element
- The methodann
- The annotation to look forprotected boolean hasAnnotations(javax.lang.model.element.Element element)
hasAnnotations
in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror>
public static void clearCaches()
public static boolean hasAnnotation(javax.lang.model.element.ExecutableElement method, java.lang.Class<? extends java.lang.annotation.Annotation> ann)
method
- The methodann
- The annotation to look for