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>AAnnotationMetadatafor 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 voidaddError(javax.lang.model.element.Element originatingElement, java.lang.String error)protected voidaddWarning(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 voidclearCaches()Clears any caches from the last compilation round.protected io.micronaut.inject.visitor.VisitorContextcreateVisitorContext()protected javax.lang.model.element.ElementgetAnnotationMember(javax.lang.model.element.Element originatingElement, java.lang.CharSequence member)protected java.lang.StringgetAnnotationMemberName(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.StringgetAnnotationTypeName(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.StringgetDeclaringType(javax.lang.model.element.Element element)protected java.lang.StringgetElementName(javax.lang.model.element.Element element)protected io.micronaut.inject.annotation.AnnotatedElementValidatorgetElementValidator()protected java.lang.StringgetRepeatableName(javax.lang.model.element.AnnotationMirror annotationMirror)protected java.lang.StringgetRepeatableNameForType(javax.lang.model.element.Element annotationType)protected java.lang.annotation.RetentionPolicygetRetentionPolicy(javax.lang.model.element.Element annotation)protected javax.lang.model.element.ElementgetTypeForAnnotation(javax.lang.model.element.AnnotationMirror annotationMirror)booleanhasAnnotation(javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> ann)Checks if a method has an annotation.booleanhasAnnotation(javax.lang.model.element.Element element, java.lang.String ann)Checks if a method has an annotation.static booleanhasAnnotation(javax.lang.model.element.ExecutableElement method, java.lang.Class<? extends java.lang.annotation.Annotation> ann)Checks if a method has an annotation.protected booleanhasAnnotations(javax.lang.model.element.Element element)protected booleanhasSimpleAnnotation(javax.lang.model.element.Element element, java.lang.String simpleName)protected booleanisExcludedAnnotation(javax.lang.model.element.Element element, java.lang.String annotationName)protected booleanisInheritedAnnotation(javax.lang.model.element.AnnotationMirror annotationMirror)protected booleanisInheritedAnnotationType(javax.lang.model.element.Element annotationType)protected booleanisMethodOrClassElement(javax.lang.model.element.Element element)protected booleanisValidationRequired(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 voidreadAnnotationRawValues(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.ObjectreadAnnotationValue(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:
getElementValidatorin 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:
addErrorin 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:
addWarningin 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:
getAnnotationMemberNamein 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:
getRepeatableNamein 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:
getRepeatableNameForTypein 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:
getAnnotationMirrorin 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:
createVisitorContextin 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:
getRetentionPolicyin 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:
isInheritedAnnotationin 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:
isInheritedAnnotationTypein 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:
getAnnotationMembersin 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:
hasSimpleAnnotationin 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:
isMethodOrClassElementin 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:
getDeclaringTypein 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:
getTypeForAnnotationin 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:
getAnnotationsForTypein 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:
isExcludedAnnotationin 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:
buildHierarchyin 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:
readAnnotationRawValuesin 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:
getAnnotationMemberin 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:
getAnnotationValuesin 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:
readAnnotationRawValuesin 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:
isValidationRequiredin 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:
readAnnotationValuein 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:
readAnnotationDefaultValuesin 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:
readAnnotationDefaultValuesin 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:
getAnnotationTypeNamein 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:
getElementNamein 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:
hasAnnotationin 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:
hasAnnotationin 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:
hasAnnotationsin 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
-
-