Class AnnotationMetadataHierarchy

  • All Implemented Interfaces:
    io.micronaut.core.annotation.AnnotationMetadata, io.micronaut.core.annotation.AnnotationSource, java.lang.Iterable<io.micronaut.core.annotation.AnnotationMetadata>

    public final class AnnotationMetadataHierarchy
    extends java.lang.Object
    implements io.micronaut.core.annotation.AnnotationMetadata, java.lang.Iterable<io.micronaut.core.annotation.AnnotationMetadata>
    Used to represent an annotation metadata hierarchy. The first AnnotationMetadata instance passed to the constructor represents the annotation metadata that is declared, hence methods like hasDeclaredAnnotation(String) will return true for the last annotation metadata passed in the hierarchy.

    This class is used to internally optimize memory usage and compilation time for classes that declare AOP advice at the type level and where the classes methods typically don't include any annotations and therefore would be wasteful to generate additional annotation metadata classes.

    Since:
    1.3.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static io.micronaut.core.annotation.AnnotationMetadata[] EMPTY_HIERARCHY
      Constant to represent an empty hierarchy.
      • Fields inherited from interface io.micronaut.core.annotation.AnnotationMetadata

        CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBER
      • Fields inherited from interface io.micronaut.core.annotation.AnnotationSource

        EMPTY
    • Constructor Summary

      Constructors 
      Constructor Description
      AnnotationMetadataHierarchy​(io.micronaut.core.annotation.AnnotationMetadata... hierarchy)
      Default constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.String annotation, java.lang.String member)  
      java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.Optional<java.lang.Class> classValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      java.util.Optional<java.lang.Class> classValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.Optional<java.lang.Class> classValue​(java.lang.String annotation, java.lang.String member)  
      java.util.Optional<java.lang.Class> classValue​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <T> java.lang.Class<T>[] classValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      <T> java.lang.Class<T>[] classValues​(java.lang.String annotation, java.lang.String member)  
      io.micronaut.core.annotation.AnnotationMetadata createSibling​(io.micronaut.core.annotation.AnnotationMetadata child)
      Create a new hierarchy instance from this metadata using this metadata's parents.
      java.util.OptionalDouble doubleValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      java.util.OptionalDouble doubleValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.OptionalDouble doubleValue​(java.lang.String annotation, java.lang.String member)  
      java.util.OptionalDouble doubleValue​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <E extends java.lang.Enum>
      java.util.Optional<E>
      enumValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.lang.Class<E> enumType)  
      <E extends java.lang.Enum>
      java.util.Optional<E>
      enumValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.lang.Class<E> enumType, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <E extends java.lang.Enum>
      java.util.Optional<E>
      enumValue​(java.lang.String annotation, java.lang.String member, java.lang.Class<E> enumType)  
      <E extends java.lang.Enum>
      java.util.Optional<E>
      enumValue​(java.lang.String annotation, java.lang.String member, java.lang.Class<E> enumType, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <E extends java.lang.Enum>
      E[]
      enumValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.lang.Class<E> enumType)  
      <E extends java.lang.Enum>
      E[]
      enumValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.lang.Class<E> enumType, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <E extends java.lang.Enum>
      E[]
      enumValues​(java.lang.String annotation, java.lang.String member, java.lang.Class<E> enumType)  
      <E extends java.lang.Enum>
      E[]
      enumValues​(java.lang.String annotation, java.lang.String member, java.lang.Class<E> enumType, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <T extends java.lang.annotation.Annotation>
      java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>>
      findAnnotation​(java.lang.String annotation)  
      <T extends java.lang.annotation.Annotation>
      java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>>
      findDeclaredAnnotation​(java.lang.String annotation)  
      java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)  
      java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.String annotation)  
      java.util.Set<java.lang.String> getAnnotationNames()  
      java.util.List<java.lang.String> getAnnotationNamesByStereotype​(java.lang.String stereotype)  
      java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(java.lang.String name)  
      java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(java.lang.String name, java.lang.ClassLoader classLoader)  
      <T extends java.lang.annotation.Annotation>
      java.util.List<io.micronaut.core.annotation.AnnotationValue<T>>
      getAnnotationValuesByName​(java.lang.String annotationType)  
      <T extends java.lang.annotation.Annotation>
      java.util.List<io.micronaut.core.annotation.AnnotationValue<T>>
      getAnnotationValuesByStereotype​(java.lang.String stereotype)  
      <T extends java.lang.annotation.Annotation>
      java.util.List<io.micronaut.core.annotation.AnnotationValue<T>>
      getAnnotationValuesByType​(java.lang.Class<T> annotationType)  
      java.util.Set<java.lang.String> getDeclaredAnnotationNames()  
      <T extends java.lang.annotation.Annotation>
      java.util.List<io.micronaut.core.annotation.AnnotationValue<T>>
      getDeclaredAnnotationValuesByName​(java.lang.String annotationType)  
      <T extends java.lang.annotation.Annotation>
      java.util.List<io.micronaut.core.annotation.AnnotationValue<T>>
      getDeclaredAnnotationValuesByType​(java.lang.Class<T> annotationType)  
      io.micronaut.core.annotation.AnnotationMetadata getDeclaredMetadata()  
      <T> java.util.Optional<T> getDefaultValue​(java.lang.String annotation, java.lang.String member, io.micronaut.core.type.Argument<T> requiredType)  
      java.util.Map<java.lang.String,​java.lang.Object> getDefaultValues​(java.lang.String annotation)  
      io.micronaut.core.annotation.AnnotationMetadata getRootMetadata()  
      <T> java.util.Optional<T> getValue​(java.lang.String annotation, java.lang.String member, io.micronaut.core.type.Argument<T> requiredType, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <T> io.micronaut.core.value.OptionalValues<T> getValues​(java.lang.String annotation, java.lang.Class<T> valueType)  
      boolean hasAnnotation​(java.lang.String annotation)  
      boolean hasDeclaredAnnotation​(java.lang.String annotation)  
      boolean hasDeclaredStereotype​(java.lang.String annotation)  
      boolean hasPropertyExpressions()  
      boolean hasStereotype​(java.lang.String annotation)  
      java.util.OptionalInt intValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      java.util.OptionalInt intValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.OptionalInt intValue​(java.lang.String annotation, java.lang.String member)  
      java.util.OptionalInt intValue​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      boolean isEmpty()  
      boolean isFalse​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      boolean isPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      boolean isRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)  
      boolean isRepeatableAnnotation​(java.lang.String annotation)  
      boolean isTrue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      boolean isTrue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      boolean isTrue​(java.lang.String annotation, java.lang.String member)  
      boolean isTrue​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.Iterator<io.micronaut.core.annotation.AnnotationMetadata> iterator()  
      java.util.OptionalLong longValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      java.util.OptionalLong longValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.OptionalLong longValue​(java.lang.String annotation, java.lang.String member)  
      java.util.OptionalLong longValue​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.Optional<java.lang.String> stringValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      java.util.Optional<java.lang.String> stringValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.util.Optional<java.lang.String> stringValue​(java.lang.String annotation, java.lang.String member)  
      java.util.Optional<java.lang.String> stringValue​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.lang.String[] stringValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)  
      java.lang.String[] stringValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      java.lang.String[] stringValues​(java.lang.String annotation, java.lang.String member)  
      java.lang.String[] stringValues​(java.lang.String annotation, java.lang.String member, java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)  
      <T extends java.lang.annotation.Annotation>
      T
      synthesize​(java.lang.Class<T> annotationClass)  
      <T extends java.lang.annotation.Annotation>
      T
      synthesize​(java.lang.Class<T> annotationClass, java.lang.String sourceAnnotation)  
      java.lang.annotation.Annotation[] synthesizeAll()  
      <T extends java.lang.annotation.Annotation>
      T[]
      synthesizeAnnotationsByType​(java.lang.Class<T> annotationClass)  
      java.lang.annotation.Annotation[] synthesizeDeclared()  
      <T extends java.lang.annotation.Annotation>
      T
      synthesizeDeclared​(java.lang.Class<T> annotationClass)  
      <T extends java.lang.annotation.Annotation>
      T
      synthesizeDeclared​(java.lang.Class<T> annotationClass, java.lang.String sourceAnnotation)  
      <T extends java.lang.annotation.Annotation>
      T[]
      synthesizeDeclaredAnnotationsByType​(java.lang.Class<T> annotationClass)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadata

        booleanValue, booleanValue, classValue, classValue, classValues, classValues, doubleValue, enumValue, enumValue, enumValues, enumValues, findAnnotation, findDeclaredAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNamesByStereotype, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getStereotypeAnnotationNames, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, intValue, isAnnotationPresent, isAnnotationPresent, isDeclaredAnnotationPresent, isDeclaredAnnotationPresent, isFalse, isPresent, stringValue, stringValue, stringValues, stringValues
      • Methods inherited from interface io.micronaut.core.annotation.AnnotationSource

        getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Field Detail

      • EMPTY_HIERARCHY

        public static final io.micronaut.core.annotation.AnnotationMetadata[] EMPTY_HIERARCHY
        Constant to represent an empty hierarchy.
    • Constructor Detail

      • AnnotationMetadataHierarchy

        public AnnotationMetadataHierarchy​(io.micronaut.core.annotation.AnnotationMetadata... hierarchy)
        Default constructor.
        Parameters:
        hierarchy - The annotation hierarchy
    • Method Detail

      • hasPropertyExpressions

        public boolean hasPropertyExpressions()
        Specified by:
        hasPropertyExpressions in interface io.micronaut.core.annotation.AnnotationMetadata
      • getAnnotationType

        public java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(@NonNull
                                                                                                                java.lang.String name)
        Specified by:
        getAnnotationType in interface io.micronaut.core.annotation.AnnotationMetadata
      • getAnnotationType

        public java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(@NonNull
                                                                                                                java.lang.String name,
                                                                                                                @NonNull
                                                                                                                java.lang.ClassLoader classLoader)
        Specified by:
        getAnnotationType in interface io.micronaut.core.annotation.AnnotationMetadata
      • getDeclaredMetadata

        @NonNull
        public io.micronaut.core.annotation.AnnotationMetadata getDeclaredMetadata()
        Specified by:
        getDeclaredMetadata in interface io.micronaut.core.annotation.AnnotationMetadata
        Returns:
        The metadata that is actually declared in the element
      • getRootMetadata

        @NonNull
        public io.micronaut.core.annotation.AnnotationMetadata getRootMetadata()
        Returns:
        The metadata that is actually declared in the element
      • createSibling

        @NonNull
        public io.micronaut.core.annotation.AnnotationMetadata createSibling​(@NonNull
                                                                             io.micronaut.core.annotation.AnnotationMetadata child)
        Create a new hierarchy instance from this metadata using this metadata's parents.
        Parameters:
        child - The child annotation metadata
        Returns:
        A new sibling
      • synthesize

        @Nullable
        public <T extends java.lang.annotation.Annotation> T synthesize​(@NonNull
                                                                        java.lang.Class<T> annotationClass,
                                                                        @NonNull
                                                                        java.lang.String sourceAnnotation)
        Specified by:
        synthesize in interface io.micronaut.core.annotation.AnnotationSource
      • synthesizeAll

        public java.lang.annotation.Annotation[] synthesizeAll()
        Specified by:
        synthesizeAll in interface io.micronaut.core.annotation.AnnotationSource
      • synthesizeDeclared

        public java.lang.annotation.Annotation[] synthesizeDeclared()
        Specified by:
        synthesizeDeclared in interface io.micronaut.core.annotation.AnnotationSource
      • synthesizeAnnotationsByType

        public <T extends java.lang.annotation.Annotation> T[] synthesizeAnnotationsByType​(java.lang.Class<T> annotationClass)
        Specified by:
        synthesizeAnnotationsByType in interface io.micronaut.core.annotation.AnnotationSource
      • synthesizeDeclaredAnnotationsByType

        public <T extends java.lang.annotation.Annotation> T[] synthesizeDeclaredAnnotationsByType​(java.lang.Class<T> annotationClass)
        Specified by:
        synthesizeDeclaredAnnotationsByType in interface io.micronaut.core.annotation.AnnotationSource
      • synthesizeDeclared

        @Nullable
        public <T extends java.lang.annotation.Annotation> T synthesizeDeclared​(@NonNull
                                                                                java.lang.Class<T> annotationClass,
                                                                                @NonNull
                                                                                java.lang.String sourceAnnotation)
        Specified by:
        synthesizeDeclared in interface io.micronaut.core.annotation.AnnotationSource
      • synthesize

        @Nullable
        public <T extends java.lang.annotation.Annotation> T synthesize​(@NonNull
                                                                        java.lang.Class<T> annotationClass)
        Specified by:
        synthesize in interface io.micronaut.core.annotation.AnnotationSource
      • synthesizeDeclared

        @Nullable
        public <T extends java.lang.annotation.Annotation> T synthesizeDeclared​(@NonNull
                                                                                java.lang.Class<T> annotationClass)
        Specified by:
        synthesizeDeclared in interface io.micronaut.core.annotation.AnnotationSource
      • findAnnotation

        @NonNull
        public <T extends java.lang.annotation.Annotation> java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>> findAnnotation​(@NonNull
                                                                                                                                              java.lang.String annotation)
        Specified by:
        findAnnotation in interface io.micronaut.core.annotation.AnnotationSource
      • findDeclaredAnnotation

        @NonNull
        public <T extends java.lang.annotation.Annotation> java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>> findDeclaredAnnotation​(@NonNull
                                                                                                                                                      java.lang.String annotation)
        Specified by:
        findDeclaredAnnotation in interface io.micronaut.core.annotation.AnnotationSource
      • doubleValue

        @NonNull
        public java.util.OptionalDouble doubleValue​(@NonNull
                                                    java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                    @NonNull
                                                    java.lang.String member)
        Specified by:
        doubleValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • stringValues

        @NonNull
        public java.lang.String[] stringValues​(@NonNull
                                               java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                               @NonNull
                                               java.lang.String member)
        Specified by:
        stringValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • stringValues

        @NonNull
        public java.lang.String[] stringValues​(@NonNull
                                               java.lang.String annotation,
                                               @NonNull
                                               java.lang.String member)
        Specified by:
        stringValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • booleanValue

        public java.util.Optional<java.lang.Boolean> booleanValue​(@NonNull
                                                                  java.lang.String annotation,
                                                                  @NonNull
                                                                  java.lang.String member)
        Specified by:
        booleanValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • isTrue

        public boolean isTrue​(@NonNull
                              java.lang.String annotation,
                              @NonNull
                              java.lang.String member)
        Specified by:
        isTrue in interface io.micronaut.core.annotation.AnnotationMetadata
      • longValue

        public java.util.OptionalLong longValue​(@NonNull
                                                java.lang.String annotation,
                                                @NonNull
                                                java.lang.String member)
        Specified by:
        longValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • stringValue

        public java.util.Optional<java.lang.String> stringValue​(@NonNull
                                                                java.lang.String annotation,
                                                                @NonNull
                                                                java.lang.String member)
        Specified by:
        stringValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • intValue

        public java.util.OptionalInt intValue​(@NonNull
                                              java.lang.String annotation,
                                              @NonNull
                                              java.lang.String member)
        Specified by:
        intValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • doubleValue

        @NonNull
        public java.util.OptionalDouble doubleValue​(@NonNull
                                                    java.lang.String annotation,
                                                    @NonNull
                                                    java.lang.String member)
        Specified by:
        doubleValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • enumValue

        public <E extends java.lang.Enum> java.util.Optional<E> enumValue​(@NonNull
                                                                          java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                          @NonNull
                                                                          java.lang.String member,
                                                                          java.lang.Class<E> enumType)
        Specified by:
        enumValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • classValues

        @NonNull
        public <T> java.lang.Class<T>[] classValues​(@NonNull
                                                    java.lang.String annotation,
                                                    @NonNull
                                                    java.lang.String member)
        Specified by:
        classValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • classValue

        public java.util.Optional<java.lang.Class> classValue​(@NonNull
                                                              java.lang.String annotation,
                                                              @NonNull
                                                              java.lang.String member)
        Specified by:
        classValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • getAnnotationNamesByStereotype

        @NonNull
        public java.util.List<java.lang.String> getAnnotationNamesByStereotype​(@Nullable
                                                                               java.lang.String stereotype)
        Specified by:
        getAnnotationNamesByStereotype in interface io.micronaut.core.annotation.AnnotationMetadata
      • getAnnotationValuesByStereotype

        public <T extends java.lang.annotation.Annotation> java.util.List<io.micronaut.core.annotation.AnnotationValue<T>> getAnnotationValuesByStereotype​(java.lang.String stereotype)
        Specified by:
        getAnnotationValuesByStereotype in interface io.micronaut.core.annotation.AnnotationMetadata
      • getDeclaredAnnotationNames

        @NonNull
        public java.util.Set<java.lang.String> getDeclaredAnnotationNames()
        Specified by:
        getDeclaredAnnotationNames in interface io.micronaut.core.annotation.AnnotationMetadata
      • getAnnotationNames

        @NonNull
        public java.util.Set<java.lang.String> getAnnotationNames()
        Specified by:
        getAnnotationNames in interface io.micronaut.core.annotation.AnnotationMetadata
      • getValues

        @NonNull
        public <T> io.micronaut.core.value.OptionalValues<T> getValues​(@NonNull
                                                                       java.lang.String annotation,
                                                                       @NonNull
                                                                       java.lang.Class<T> valueType)
        Specified by:
        getValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • getDefaultValue

        public <T> java.util.Optional<T> getDefaultValue​(@NonNull
                                                         java.lang.String annotation,
                                                         @NonNull
                                                         java.lang.String member,
                                                         @NonNull
                                                         io.micronaut.core.type.Argument<T> requiredType)
        Specified by:
        getDefaultValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • getAnnotationValuesByType

        @NonNull
        public <T extends java.lang.annotation.Annotation> java.util.List<io.micronaut.core.annotation.AnnotationValue<T>> getAnnotationValuesByType​(@NonNull
                                                                                                                                                     java.lang.Class<T> annotationType)
        Specified by:
        getAnnotationValuesByType in interface io.micronaut.core.annotation.AnnotationMetadata
      • getAnnotationValuesByName

        public <T extends java.lang.annotation.Annotation> java.util.List<io.micronaut.core.annotation.AnnotationValue<T>> getAnnotationValuesByName​(java.lang.String annotationType)
        Specified by:
        getAnnotationValuesByName in interface io.micronaut.core.annotation.AnnotationMetadata
      • getDeclaredAnnotationValuesByType

        @NonNull
        public <T extends java.lang.annotation.Annotation> java.util.List<io.micronaut.core.annotation.AnnotationValue<T>> getDeclaredAnnotationValuesByType​(@NonNull
                                                                                                                                                             java.lang.Class<T> annotationType)
        Specified by:
        getDeclaredAnnotationValuesByType in interface io.micronaut.core.annotation.AnnotationMetadata
      • getDeclaredAnnotationValuesByName

        public <T extends java.lang.annotation.Annotation> java.util.List<io.micronaut.core.annotation.AnnotationValue<T>> getDeclaredAnnotationValuesByName​(java.lang.String annotationType)
        Specified by:
        getDeclaredAnnotationValuesByName in interface io.micronaut.core.annotation.AnnotationMetadata
      • hasDeclaredAnnotation

        public boolean hasDeclaredAnnotation​(@Nullable
                                             java.lang.String annotation)
        Specified by:
        hasDeclaredAnnotation in interface io.micronaut.core.annotation.AnnotationMetadata
      • hasAnnotation

        public boolean hasAnnotation​(@Nullable
                                     java.lang.String annotation)
        Specified by:
        hasAnnotation in interface io.micronaut.core.annotation.AnnotationMetadata
      • hasStereotype

        public boolean hasStereotype​(@Nullable
                                     java.lang.String annotation)
        Specified by:
        hasStereotype in interface io.micronaut.core.annotation.AnnotationMetadata
      • hasDeclaredStereotype

        public boolean hasDeclaredStereotype​(@Nullable
                                             java.lang.String annotation)
        Specified by:
        hasDeclaredStereotype in interface io.micronaut.core.annotation.AnnotationMetadata
      • enumValue

        public <E extends java.lang.Enum> java.util.Optional<E> enumValue​(java.lang.String annotation,
                                                                          java.lang.String member,
                                                                          java.lang.Class<E> enumType)
        Specified by:
        enumValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • enumValues

        public <E extends java.lang.Enum> E[] enumValues​(java.lang.String annotation,
                                                         java.lang.String member,
                                                         java.lang.Class<E> enumType)
        Specified by:
        enumValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • intValue

        public java.util.OptionalInt intValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                              java.lang.String member)
        Specified by:
        intValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • isFalse

        public boolean isFalse​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                               java.lang.String member)
        Specified by:
        isFalse in interface io.micronaut.core.annotation.AnnotationMetadata
      • getDefaultValues

        @NonNull
        public java.util.Map<java.lang.String,​java.lang.Object> getDefaultValues​(@NonNull
                                                                                       java.lang.String annotation)
        Specified by:
        getDefaultValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • enumValue

        public <E extends java.lang.Enum> java.util.Optional<E> enumValue​(@NonNull
                                                                          java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                          @NonNull
                                                                          java.lang.String member,
                                                                          java.lang.Class<E> enumType,
                                                                          @Nullable
                                                                          java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • enumValue

        public <E extends java.lang.Enum> java.util.Optional<E> enumValue​(@NonNull
                                                                          java.lang.String annotation,
                                                                          @NonNull
                                                                          java.lang.String member,
                                                                          java.lang.Class<E> enumType,
                                                                          @Nullable
                                                                          java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • enumValues

        public <E extends java.lang.Enum> E[] enumValues​(@NonNull
                                                         java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                         @NonNull
                                                         java.lang.String member,
                                                         java.lang.Class<E> enumType,
                                                         @Nullable
                                                         java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • enumValues

        public <E extends java.lang.Enum> E[] enumValues​(@NonNull
                                                         java.lang.String annotation,
                                                         @NonNull
                                                         java.lang.String member,
                                                         java.lang.Class<E> enumType,
                                                         @Nullable
                                                         java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • classValue

        public java.util.Optional<java.lang.Class> classValue​(@NonNull
                                                              java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                              @NonNull
                                                              java.lang.String member,
                                                              java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • classValue

        public java.util.Optional<java.lang.Class> classValue​(@NonNull
                                                              java.lang.String annotation,
                                                              @NonNull
                                                              java.lang.String member,
                                                              @Nullable
                                                              java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • intValue

        public java.util.OptionalInt intValue​(@NonNull
                                              java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                              @NonNull
                                              java.lang.String member,
                                              @Nullable
                                              java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • booleanValue

        public java.util.Optional<java.lang.Boolean> booleanValue​(@NonNull
                                                                  java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                  @NonNull
                                                                  java.lang.String member,
                                                                  java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • booleanValue

        @NonNull
        public java.util.Optional<java.lang.Boolean> booleanValue​(@NonNull
                                                                  java.lang.String annotation,
                                                                  @NonNull
                                                                  java.lang.String member,
                                                                  @Nullable
                                                                  java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • longValue

        public java.util.OptionalLong longValue​(@NonNull
                                                java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                @NonNull
                                                java.lang.String member,
                                                @Nullable
                                                java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • longValue

        @NonNull
        public java.util.OptionalLong longValue​(@NonNull
                                                java.lang.String annotation,
                                                @NonNull
                                                java.lang.String member,
                                                @Nullable
                                                java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • intValue

        @NonNull
        public java.util.OptionalInt intValue​(@NonNull
                                              java.lang.String annotation,
                                              @NonNull
                                              java.lang.String member,
                                              @Nullable
                                              java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • longValue

        public java.util.OptionalLong longValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                java.lang.String member)
        Specified by:
        longValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • enumValues

        public <E extends java.lang.Enum> E[] enumValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                         java.lang.String member,
                                                         java.lang.Class<E> enumType)
        Specified by:
        enumValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • classValues

        public <T> java.lang.Class<T>[] classValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                    java.lang.String member)
        Specified by:
        classValues in interface io.micronaut.core.annotation.AnnotationMetadata
      • classValue

        public java.util.Optional<java.lang.Class> classValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                              java.lang.String member)
        Specified by:
        classValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • stringValue

        public java.util.Optional<java.lang.String> stringValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                java.lang.String member)
        Specified by:
        stringValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • booleanValue

        public java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                  java.lang.String member)
        Specified by:
        booleanValue in interface io.micronaut.core.annotation.AnnotationMetadata
      • isTrue

        public boolean isTrue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                              java.lang.String member)
        Specified by:
        isTrue in interface io.micronaut.core.annotation.AnnotationMetadata
      • isPresent

        public boolean isPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                 java.lang.String member)
        Specified by:
        isPresent in interface io.micronaut.core.annotation.AnnotationMetadata
      • stringValue

        public java.util.Optional<java.lang.String> stringValue​(@NonNull
                                                                java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                @NonNull
                                                                java.lang.String member,
                                                                java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • stringValues

        @NonNull
        public java.lang.String[] stringValues​(@NonNull
                                               java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                               @NonNull
                                               java.lang.String member,
                                               java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • stringValues

        public java.lang.String[] stringValues​(java.lang.String annotation,
                                               java.lang.String member,
                                               java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • stringValue

        @NonNull
        public java.util.Optional<java.lang.String> stringValue​(@NonNull
                                                                java.lang.String annotation,
                                                                @NonNull
                                                                java.lang.String member,
                                                                @Nullable
                                                                java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • isTrue

        public boolean isTrue​(@NonNull
                              java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                              @NonNull
                              java.lang.String member,
                              java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • isTrue

        public boolean isTrue​(@NonNull
                              java.lang.String annotation,
                              @NonNull
                              java.lang.String member,
                              @Nullable
                              java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • doubleValue

        public java.util.OptionalDouble doubleValue​(@NonNull
                                                    java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                    @NonNull
                                                    java.lang.String member,
                                                    @Nullable
                                                    java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • doubleValue

        @NonNull
        public java.util.OptionalDouble doubleValue​(@NonNull
                                                    java.lang.String annotation,
                                                    @NonNull
                                                    java.lang.String member,
                                                    java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • getValue

        @NonNull
        public <T> java.util.Optional<T> getValue​(@NonNull
                                                  java.lang.String annotation,
                                                  @NonNull
                                                  java.lang.String member,
                                                  @NonNull
                                                  io.micronaut.core.type.Argument<T> requiredType,
                                                  @Nullable
                                                  java.util.function.Function<java.lang.Object,​java.lang.Object> valueMapper)
      • iterator

        @NonNull
        public java.util.Iterator<io.micronaut.core.annotation.AnnotationMetadata> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<io.micronaut.core.annotation.AnnotationMetadata>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface io.micronaut.core.annotation.AnnotationMetadata
      • isRepeatableAnnotation

        public boolean isRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Specified by:
        isRepeatableAnnotation in interface io.micronaut.core.annotation.AnnotationMetadata
      • isRepeatableAnnotation

        public boolean isRepeatableAnnotation​(java.lang.String annotation)
        Specified by:
        isRepeatableAnnotation in interface io.micronaut.core.annotation.AnnotationMetadata
      • findRepeatableAnnotation

        public java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Specified by:
        findRepeatableAnnotation in interface io.micronaut.core.annotation.AnnotationMetadata
      • findRepeatableAnnotation

        public java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.String annotation)
        Specified by:
        findRepeatableAnnotation in interface io.micronaut.core.annotation.AnnotationMetadata