Class GroovyAnnotationMetadataBuilder


  • public class GroovyAnnotationMetadataBuilder
    extends io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
    Groovy implementation of AbstractAnnotationMetadataBuilder.
    Since:
    1.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static org.codehaus.groovy.ast.ClassNode ANN_OVERRIDE  
      static java.lang.String VALIDATOR_KEY  
    • Constructor Summary

      Constructors 
      Constructor Description
      GroovyAnnotationMetadataBuilder​(org.codehaus.groovy.control.SourceUnit sourceUnit, org.codehaus.groovy.control.CompilationUnit compilationUnit)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addError​(org.codehaus.groovy.ast.AnnotatedNode originatingElement, java.lang.String error)  
      protected void addWarning​(org.codehaus.groovy.ast.AnnotatedNode originatingElement, java.lang.String warning)  
      protected java.util.List<org.codehaus.groovy.ast.AnnotatedNode> buildHierarchy​(org.codehaus.groovy.ast.AnnotatedNode element, boolean inheritTypeAnnotations, boolean declaredOnly)  
      protected io.micronaut.inject.visitor.VisitorContext createVisitorContext()  
      protected org.codehaus.groovy.ast.AnnotatedNode getAnnotationMember​(org.codehaus.groovy.ast.AnnotatedNode originatingElement, java.lang.CharSequence member)  
      protected java.lang.String getAnnotationMemberName​(org.codehaus.groovy.ast.AnnotatedNode member)  
      protected java.util.Map<java.lang.String,​? extends org.codehaus.groovy.ast.AnnotatedNode> getAnnotationMembers​(java.lang.String annotationType)  
      protected java.util.Optional<org.codehaus.groovy.ast.AnnotatedNode> getAnnotationMirror​(java.lang.String annotationName)  
      protected java.util.List<? extends org.codehaus.groovy.ast.AnnotationNode> getAnnotationsForType​(org.codehaus.groovy.ast.AnnotatedNode element)  
      protected java.lang.String getAnnotationTypeName​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)  
      protected io.micronaut.core.value.OptionalValues<?> getAnnotationValues​(org.codehaus.groovy.ast.AnnotatedNode originatingElement, org.codehaus.groovy.ast.AnnotatedNode member, java.lang.Class<?> annotationType)  
      protected java.lang.String getDeclaringType​(org.codehaus.groovy.ast.AnnotatedNode element)  
      protected java.lang.String getElementName​(org.codehaus.groovy.ast.AnnotatedNode element)  
      protected io.micronaut.inject.annotation.AnnotatedElementValidator getElementValidator()  
      protected java.lang.String getRepeatableName​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)  
      protected java.lang.String getRepeatableNameForType​(org.codehaus.groovy.ast.AnnotatedNode annotationType)  
      protected java.lang.annotation.RetentionPolicy getRetentionPolicy​(org.codehaus.groovy.ast.AnnotatedNode annotation)  
      protected org.codehaus.groovy.ast.AnnotatedNode getTypeForAnnotation​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)  
      protected boolean hasAnnotation​(org.codehaus.groovy.ast.AnnotatedNode element, java.lang.Class<? extends java.lang.annotation.Annotation> annotation)  
      protected boolean hasAnnotation​(org.codehaus.groovy.ast.AnnotatedNode element, java.lang.String annotation)  
      protected boolean hasAnnotations​(org.codehaus.groovy.ast.AnnotatedNode element)  
      protected boolean hasSimpleAnnotation​(org.codehaus.groovy.ast.AnnotatedNode element, java.lang.String simpleName)  
      protected boolean isExcludedAnnotation​(org.codehaus.groovy.ast.AnnotatedNode element, java.lang.String annotationName)  
      protected boolean isInheritedAnnotation​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)  
      protected boolean isInheritedAnnotationType​(org.codehaus.groovy.ast.AnnotatedNode annotationType)  
      protected boolean isMethodOrClassElement​(org.codehaus.groovy.ast.AnnotatedNode element)  
      protected boolean isValidationRequired​(org.codehaus.groovy.ast.AnnotatedNode member)  
      protected java.util.Map<? extends org.codehaus.groovy.ast.AnnotatedNode,​?> readAnnotationDefaultValues​(java.lang.String annotationName, org.codehaus.groovy.ast.AnnotatedNode annotationType)  
      protected java.util.Map<? extends org.codehaus.groovy.ast.AnnotatedNode,​?> readAnnotationDefaultValues​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)  
      protected void readAnnotationRawValues​(org.codehaus.groovy.ast.AnnotatedNode originatingElement, java.lang.String annotationName, org.codehaus.groovy.ast.AnnotatedNode member, java.lang.String memberName, java.lang.Object annotationValue, java.util.Map<java.lang.CharSequence,​java.lang.Object> annotationValues)  
      protected java.util.Map<? extends org.codehaus.groovy.ast.AnnotatedNode,​?> readAnnotationRawValues​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)  
      protected java.lang.Object readAnnotationValue​(org.codehaus.groovy.ast.AnnotatedNode originatingElement, org.codehaus.groovy.ast.AnnotatedNode 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, clearCaches, clearMutated, copyToRuntime, getAnnotationMappers, getAnnotationTransformers, getMappedAnnotationNames, getMappedAnnotationPackages, isAnnotationMapped, isMetadataMutated, populateAnnotationData, populateAnnotationData, readNestedAnnotationValue, removeAnnotation, removeAnnotationIf, removeStereotype, validateAnnotationValue
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ANN_OVERRIDE

        public static final org.codehaus.groovy.ast.ClassNode ANN_OVERRIDE
    • Constructor Detail

      • GroovyAnnotationMetadataBuilder

        public GroovyAnnotationMetadataBuilder​(org.codehaus.groovy.control.SourceUnit sourceUnit,
                                               org.codehaus.groovy.control.CompilationUnit compilationUnit)
    • Method Detail

      • isValidationRequired

        protected boolean isValidationRequired​(org.codehaus.groovy.ast.AnnotatedNode member)
        Specified by:
        isValidationRequired in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • isExcludedAnnotation

        protected boolean isExcludedAnnotation​(@NonNull
                                               org.codehaus.groovy.ast.AnnotatedNode element,
                                               @NonNull
                                               java.lang.String annotationName)
        Overrides:
        isExcludedAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getAnnotationMember

        protected org.codehaus.groovy.ast.AnnotatedNode getAnnotationMember​(org.codehaus.groovy.ast.AnnotatedNode originatingElement,
                                                                            java.lang.CharSequence member)
        Specified by:
        getAnnotationMember in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getRetentionPolicy

        protected java.lang.annotation.RetentionPolicy getRetentionPolicy​(@NonNull
                                                                          org.codehaus.groovy.ast.AnnotatedNode annotation)
        Specified by:
        getRetentionPolicy in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getElementValidator

        protected io.micronaut.inject.annotation.AnnotatedElementValidator getElementValidator()
        Overrides:
        getElementValidator in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • addError

        protected void addError​(@NonNull
                                org.codehaus.groovy.ast.AnnotatedNode originatingElement,
                                @NonNull
                                java.lang.String error)
        Specified by:
        addError in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • addWarning

        protected void addWarning​(@NonNull
                                  org.codehaus.groovy.ast.AnnotatedNode originatingElement,
                                  @NonNull
                                  java.lang.String warning)
        Specified by:
        addWarning in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • isMethodOrClassElement

        protected boolean isMethodOrClassElement​(org.codehaus.groovy.ast.AnnotatedNode element)
        Specified by:
        isMethodOrClassElement in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getDeclaringType

        protected java.lang.String getDeclaringType​(@NonNull
                                                    org.codehaus.groovy.ast.AnnotatedNode element)
        Specified by:
        getDeclaringType in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • hasAnnotation

        protected boolean hasAnnotation​(org.codehaus.groovy.ast.AnnotatedNode element,
                                        java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Specified by:
        hasAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • hasAnnotation

        protected boolean hasAnnotation​(org.codehaus.groovy.ast.AnnotatedNode element,
                                        java.lang.String annotation)
        Specified by:
        hasAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • hasAnnotations

        protected boolean hasAnnotations​(org.codehaus.groovy.ast.AnnotatedNode element)
        Specified by:
        hasAnnotations in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • createVisitorContext

        protected io.micronaut.inject.visitor.VisitorContext createVisitorContext()
        Specified by:
        createVisitorContext in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getTypeForAnnotation

        protected org.codehaus.groovy.ast.AnnotatedNode getTypeForAnnotation​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)
        Specified by:
        getTypeForAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getRepeatableName

        protected java.lang.String getRepeatableName​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)
        Specified by:
        getRepeatableName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getRepeatableNameForType

        protected java.lang.String getRepeatableNameForType​(org.codehaus.groovy.ast.AnnotatedNode annotationType)
        Specified by:
        getRepeatableNameForType in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getAnnotationMirror

        protected java.util.Optional<org.codehaus.groovy.ast.AnnotatedNode> getAnnotationMirror​(java.lang.String annotationName)
        Specified by:
        getAnnotationMirror in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getAnnotationTypeName

        protected java.lang.String getAnnotationTypeName​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)
        Specified by:
        getAnnotationTypeName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getElementName

        protected java.lang.String getElementName​(org.codehaus.groovy.ast.AnnotatedNode element)
        Specified by:
        getElementName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getAnnotationsForType

        protected java.util.List<? extends org.codehaus.groovy.ast.AnnotationNode> getAnnotationsForType​(org.codehaus.groovy.ast.AnnotatedNode element)
        Specified by:
        getAnnotationsForType in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • buildHierarchy

        protected java.util.List<org.codehaus.groovy.ast.AnnotatedNode> buildHierarchy​(org.codehaus.groovy.ast.AnnotatedNode element,
                                                                                       boolean inheritTypeAnnotations,
                                                                                       boolean declaredOnly)
        Specified by:
        buildHierarchy in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • readAnnotationRawValues

        protected void readAnnotationRawValues​(org.codehaus.groovy.ast.AnnotatedNode originatingElement,
                                               java.lang.String annotationName,
                                               org.codehaus.groovy.ast.AnnotatedNode member,
                                               java.lang.String memberName,
                                               java.lang.Object annotationValue,
                                               java.util.Map<java.lang.CharSequence,​java.lang.Object> annotationValues)
        Specified by:
        readAnnotationRawValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • readAnnotationDefaultValues

        protected java.util.Map<? extends org.codehaus.groovy.ast.AnnotatedNode,​?> readAnnotationDefaultValues​(java.lang.String annotationName,
                                                                                                                     org.codehaus.groovy.ast.AnnotatedNode annotationType)
        Specified by:
        readAnnotationDefaultValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • isInheritedAnnotation

        protected boolean isInheritedAnnotation​(@NonNull
                                                org.codehaus.groovy.ast.AnnotationNode annotationMirror)
        Specified by:
        isInheritedAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • isInheritedAnnotationType

        protected boolean isInheritedAnnotationType​(@NonNull
                                                    org.codehaus.groovy.ast.AnnotatedNode annotationType)
        Specified by:
        isInheritedAnnotationType in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getAnnotationMembers

        protected java.util.Map<java.lang.String,​? extends org.codehaus.groovy.ast.AnnotatedNode> getAnnotationMembers​(java.lang.String annotationType)
        Specified by:
        getAnnotationMembers in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • hasSimpleAnnotation

        protected boolean hasSimpleAnnotation​(org.codehaus.groovy.ast.AnnotatedNode element,
                                              java.lang.String simpleName)
        Specified by:
        hasSimpleAnnotation in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • readAnnotationDefaultValues

        protected java.util.Map<? extends org.codehaus.groovy.ast.AnnotatedNode,​?> readAnnotationDefaultValues​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)
        Specified by:
        readAnnotationDefaultValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • readAnnotationValue

        protected java.lang.Object readAnnotationValue​(org.codehaus.groovy.ast.AnnotatedNode originatingElement,
                                                       org.codehaus.groovy.ast.AnnotatedNode member,
                                                       java.lang.String memberName,
                                                       java.lang.Object annotationValue)
        Specified by:
        readAnnotationValue in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • readAnnotationRawValues

        protected java.util.Map<? extends org.codehaus.groovy.ast.AnnotatedNode,​?> readAnnotationRawValues​(org.codehaus.groovy.ast.AnnotationNode annotationMirror)
        Specified by:
        readAnnotationRawValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getAnnotationValues

        protected io.micronaut.core.value.OptionalValues<?> getAnnotationValues​(org.codehaus.groovy.ast.AnnotatedNode originatingElement,
                                                                                org.codehaus.groovy.ast.AnnotatedNode member,
                                                                                java.lang.Class<?> annotationType)
        Specified by:
        getAnnotationValues in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>
      • getAnnotationMemberName

        protected java.lang.String getAnnotationMemberName​(org.codehaus.groovy.ast.AnnotatedNode member)
        Specified by:
        getAnnotationMemberName in class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<org.codehaus.groovy.ast.AnnotatedNode,​org.codehaus.groovy.ast.AnnotationNode>