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