Class JavaAnnotationMetadataBuilder

java.lang.Object
io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
io.micronaut.annotation.processing.JavaAnnotationMetadataBuilder

public class JavaAnnotationMetadataBuilder extends io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
A AnnotationMetadata for builder for Java to be used at compile time.
Since:
1.0
  • Constructor Details

    • JavaAnnotationMetadataBuilder

      public JavaAnnotationMetadataBuilder(Elements elements, Messager messager, AnnotationUtils annotationUtils, ModelUtils modelUtils)
      Default constructor.
      Parameters:
      elements - The elementUtils
      messager - The messager
      annotationUtils - The annotation utils
      modelUtils - The model utils
  • Method Details

    • getElementValidator

      @Nullable protected @Nullable io.micronaut.inject.annotation.AnnotatedElementValidator getElementValidator()
      Overrides:
      getElementValidator in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • addError

      protected void addError(@NonNull @NonNull Element originatingElement, @NonNull @NonNull String error)
      Specified by:
      addError in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • addWarning

      protected void addWarning(@NonNull @NonNull Element originatingElement, @NonNull @NonNull String warning)
      Specified by:
      addWarning in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getAnnotationMemberName

      protected String getAnnotationMemberName(Element member)
      Specified by:
      getAnnotationMemberName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getRepeatableName

      @Nullable protected @Nullable String getRepeatableName(AnnotationMirror annotationMirror)
      Specified by:
      getRepeatableName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getRepeatableNameForType

      @Nullable protected @Nullable String getRepeatableNameForType(Element annotationType)
      Specified by:
      getRepeatableNameForType in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getAnnotationMirror

      protected Optional<Element> getAnnotationMirror(String annotationName)
      Specified by:
      getAnnotationMirror in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • createVisitorContext

      protected io.micronaut.inject.visitor.VisitorContext createVisitorContext()
      Specified by:
      createVisitorContext in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getRetentionPolicy

      @NonNull protected @NonNull RetentionPolicy getRetentionPolicy(@NonNull @NonNull Element annotation)
      Specified by:
      getRetentionPolicy in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getTypeForAnnotation

      protected Element getTypeForAnnotation(AnnotationMirror annotationMirror)
      Specified by:
      getTypeForAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getAnnotationsForType

      protected List<? extends AnnotationMirror> getAnnotationsForType(Element element)
      Specified by:
      getAnnotationsForType in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • isExcludedAnnotation

      protected boolean isExcludedAnnotation(@NonNull @NonNull Element element, @NonNull @NonNull String annotationName)
      Overrides:
      isExcludedAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • buildHierarchy

      protected List<Element> buildHierarchy(Element element, boolean inheritTypeAnnotations, boolean declaredOnly)
      Specified by:
      buildHierarchy in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • readAnnotationRawValues

      protected Map<? extends Element,?> readAnnotationRawValues(AnnotationMirror annotationMirror)
      Specified by:
      readAnnotationRawValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getAnnotationMember

      @Nullable protected @Nullable Element getAnnotationMember(Element annotationElement, CharSequence member)
      Specified by:
      getAnnotationMember in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getOriginatingClassName

      protected String getOriginatingClassName(Element orginatingElement)
      Specified by:
      getOriginatingClassName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getAnnotationValues

      protected <K extends Annotation> Optional<io.micronaut.core.annotation.AnnotationValue<K>> getAnnotationValues(Element originatingElement, Element member, Class<K> annotationType)
      Specified by:
      getAnnotationValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • readAnnotationRawValues

      protected void readAnnotationRawValues(Element originatingElement, String annotationName, Element member, String memberName, Object annotationValue, Map<CharSequence,Object> annotationValues)
      Specified by:
      readAnnotationRawValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • isValidationRequired

      protected boolean isValidationRequired(Element member)
      Specified by:
      isValidationRequired in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • readAnnotationValue

      protected Object readAnnotationValue(Element originatingElement, Element member, String annotationName, String memberName, Object annotationValue)
      Specified by:
      readAnnotationValue in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • readAnnotationDefaultValues

      protected Map<? extends Element,?> readAnnotationDefaultValues(String annotationTypeName, Element element)
      Specified by:
      readAnnotationDefaultValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getAnnotationTypeName

      protected String getAnnotationTypeName(AnnotationMirror annotationMirror)
      Specified by:
      getAnnotationTypeName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • getElementName

      protected String getElementName(Element element)
      Specified by:
      getElementName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • hasAnnotation

      public boolean hasAnnotation(Element element, Class<? extends Annotation> ann)
      Checks if a method has an annotation.
      Specified by:
      hasAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
      Parameters:
      element - The method
      ann - The annotation to look for
      Returns:
      Whether if the method has the annotation
    • hasAnnotation

      public boolean hasAnnotation(Element element, String ann)
      Checks if a method has an annotation.
      Specified by:
      hasAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
      Parameters:
      element - The method
      ann - The annotation to look for
      Returns:
      Whether if the method has the annotation
    • hasAnnotations

      protected boolean hasAnnotations(Element element)
      Specified by:
      hasAnnotations in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Element,AnnotationMirror>
    • clearCaches

      public static void clearCaches()
      Clears any caches from the last compilation round.
    • hasAnnotation

      public static boolean hasAnnotation(ExecutableElement method, Class<? extends Annotation> ann)
      Checks if a method has an annotation.
      Parameters:
      method - The method
      ann - The annotation to look for
      Returns:
      Whether if the method has the annotation