Interface AnnotationMetadataDelegate

    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      The value as an optional boolean for the given annotation and member.
      default java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The value as an optional boolean for the given annotation and member.
      default java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.String annotation)
      The value as an optional boolean for the given annotation and member.
      default java.util.Optional<java.lang.Boolean> booleanValue​(java.lang.String annotation, java.lang.String member)
      The value as an optional boolean for the given annotation and member.
      default java.util.Optional<java.lang.Class> classValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      The value of the annotation as a Class.
      default java.util.Optional<java.lang.Class> classValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The value of the annotation as a Class.
      default java.util.Optional<java.lang.Class> classValue​(java.lang.String annotation)
      The value of the annotation as a Class.
      default java.util.Optional<java.lang.Class> classValue​(java.lang.String annotation, java.lang.String member)
      The value of the annotation as a Class.
      default <T> java.lang.Class<T>[] classValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      The value of the annotation as a Class.
      default <T> java.lang.Class<T>[] classValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The value of the annotation as a Class.
      default <T> java.lang.Class<T>[] classValues​(java.lang.String annotation)
      The value of the annotation as a Class.
      default <T> java.lang.Class<T>[] classValues​(java.lang.String annotation, java.lang.String member)
      The value of the annotation as a Class.
      default java.util.OptionalDouble doubleValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      The value as an OptionalDouble for the given annotation and member.
      default java.util.OptionalDouble doubleValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The value as an OptionalDouble for the given annotation and member.
      default java.util.OptionalDouble doubleValue​(java.lang.String annotation, java.lang.String member)
      The value as an OptionalDouble for the given annotation and member.
      default <E extends java.lang.Enum>
      java.util.Optional<E>
      enumValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.Class<E> enumType)
      The value of the annotation as a Class.
      default <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)
      The value of the annotation as a Class.
      default <E extends java.lang.Enum>
      java.util.Optional<E>
      enumValue​(java.lang.String annotation, java.lang.Class<E> enumType)
      The value of the given enum.
      default <E extends java.lang.Enum>
      java.util.Optional<E>
      enumValue​(java.lang.String annotation, java.lang.String member, java.lang.Class<E> enumType)
      The value of the annotation as a Class.
      default <E extends java.lang.Enum>
      E[]
      enumValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.Class<E> enumType)
      The enum values for the given annotation.
      default <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)
      The enum values for the given annotation.
      default <E extends java.lang.Enum>
      E[]
      enumValues​(java.lang.String annotation, java.lang.Class<E> enumType)
      The enum values for the given annotation.
      default <E extends java.lang.Enum>
      E[]
      enumValues​(java.lang.String annotation, java.lang.String member, java.lang.Class<E> enumType)
      The enum values for the given annotation.
      default <T extends java.lang.annotation.Annotation>
      java.util.Optional<AnnotationValue<T>>
      findAnnotation​(java.lang.Class<T> annotationClass)
      Find an AnnotationValue for the given annotation type.
      default <T extends java.lang.annotation.Annotation>
      java.util.Optional<AnnotationValue<T>>
      findAnnotation​(java.lang.String annotation)
      Find an AnnotationValue for the given annotation name.
      default <T extends java.lang.annotation.Annotation>
      java.util.Optional<AnnotationValue<T>>
      findDeclaredAnnotation​(java.lang.Class<T> annotationClass)
      Get all of the values for the given annotation that are directly declared on the annotated element.
      default <T extends java.lang.annotation.Annotation>
      java.util.Optional<AnnotationValue<T>>
      findDeclaredAnnotation​(java.lang.String annotation)
      Get all of the values for the given annotation that are directly declared on the annotated element.
      default java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      Find repeatable annotation container.
      default java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.String annotation)
      Find repeatable annotation container.
      default <T extends java.lang.annotation.Annotation>
      AnnotationValue<T>
      getAnnotation​(java.lang.Class<T> annotationClass)
      Find an AnnotationValue for the given annotation name.
      default <T extends java.lang.annotation.Annotation>
      AnnotationValue<T>
      getAnnotation​(java.lang.String annotation)
      Find an AnnotationValue for the given annotation name.
      default java.util.Optional<java.lang.String> getAnnotationNameByStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
      Find the first annotation name for the given stereotype.
      default java.util.Optional<java.lang.String> getAnnotationNameByStereotype​(java.lang.String stereotype)
      Find the first annotation name for the given stereotype.
      default java.util.Set<java.lang.String> getAnnotationNames()
      All the annotation names this metadata declares.
      default java.util.List<java.lang.String> getAnnotationNamesByStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
      Resolve all of the annotation names that feature the given stereotype.
      default java.util.List<java.lang.String> getAnnotationNamesByStereotype​(java.lang.String stereotype)
      Resolve all of the annotation names that feature the given stereotype.
      default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(java.lang.String name)
      Gets the type for a given annotation if it is present on the classpath.
      default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(java.lang.String name, java.lang.ClassLoader classLoader)
      Gets the type for a given annotation if it is present on the classpath.
      default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypeByStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
      Find the first annotation name for the given stereotype.
      default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypeByStereotype​(java.lang.String stereotype)
      Find the first annotation name for the given stereotype.
      default java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypesByStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
      Resolve all of the annotation names that feature the given stereotype.
      default java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypesByStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype, java.lang.ClassLoader classLoader)
      Resolve all of the annotation names that feature the given stereotype.
      default java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypesByStereotype​(java.lang.String stereotype)
      Resolve all of the annotation names that feature the given stereotype.
      default <T extends java.lang.annotation.Annotation>
      java.util.List<AnnotationValue<T>>
      getAnnotationValuesByType​(java.lang.Class<T> annotationType)
      Gets all the annotation values by the given repeatable type.
      default <T extends java.lang.annotation.Annotation>
      AnnotationValue<T>
      getDeclaredAnnotation​(java.lang.Class<T> annotationClass)
      Find an AnnotationValue for the given annotation name.
      default <T extends java.lang.annotation.Annotation>
      AnnotationValue<T>
      getDeclaredAnnotation​(java.lang.String annotation)
      Get all of the values for the given annotation that are directly declared on the annotated element.
      default java.util.Optional<java.lang.String> getDeclaredAnnotationNameByStereotype​(java.lang.String stereotype)
      Find the first annotation name for the given stereotype.
      default java.util.Set<java.lang.String> getDeclaredAnnotationNames()
      All the declared annotation names this metadata declares.
      default java.util.List<java.lang.String> getDeclaredAnnotationNamesByStereotype​(java.lang.String stereotype)
      Resolve all of the annotations names for the given stereotype that are declared annotations.
      default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getDeclaredAnnotationTypeByStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
      Find the first declared annotation name for the given stereotype.
      default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getDeclaredAnnotationTypeByStereotype​(java.lang.String stereotype)
      Find the first annotation name for the given stereotype.
      default <T extends java.lang.annotation.Annotation>
      java.util.List<AnnotationValue<T>>
      getDeclaredAnnotationValuesByType​(java.lang.Class<T> annotationType)
      Gets only declared annotation values by the given repeatable type.
      default AnnotationMetadata getDeclaredMetadata()
      Gets the declared metadata without inherited metdata.
      default java.util.Set<java.lang.String> getDeclaredStereotypeAnnotationNames()
      Returns the names of the annotations which are declared stereotypes.
      default <T> java.util.Optional<T> getDefaultValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, Argument<T> requiredType)
      Return the default value for the given annotation member.
      default <T> java.util.Optional<T> getDefaultValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.lang.Class<T> requiredType)
      Return the default value for the given annotation member.
      default <T> java.util.Optional<T> getDefaultValue​(java.lang.String annotation, java.lang.String member, Argument<T> requiredType)
      Return the default value for the given annotation member.
      default <T> java.util.Optional<T> getDefaultValue​(java.lang.String annotation, java.lang.String member, java.lang.Class<T> requiredType)
      Return the default value for the given annotation member.
      default java.util.Map<java.lang.String,​java.lang.Object> getDefaultValues​(java.lang.String annotation)
      Return the default values for the given annotation name.
      default java.util.Set<java.lang.String> getStereotypeAnnotationNames()
      Returns the names of the annotations which are stereotypes.
      default java.util.Optional<java.lang.Object> getValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      Get the value of default "value" the given annotation.
      default <T> java.util.Optional<T> getValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, Argument<T> requiredType)
      Get the value of default "value" the given annotation.
      default <T> java.util.Optional<T> getValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.Class<T> requiredType)
      Get the value of default "value" the given annotation.
      default java.util.Optional<java.lang.Object> getValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      Get the value of the given annotation member.
      default <T> java.util.Optional<T> getValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, Argument<T> requiredType)
      Get the value of the given annotation member.
      default <T> java.util.Optional<T> getValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member, java.lang.Class<T> requiredType)
      Get the value of the given annotation member.
      default java.util.Optional<java.lang.Object> getValue​(java.lang.String annotation)
      Get the value of default "value" the given annotation.
      default <T> java.util.Optional<T> getValue​(java.lang.String annotation, Argument<T> requiredType)
      Get the value of default "value" the given annotation.
      default <T> java.util.Optional<T> getValue​(java.lang.String annotation, java.lang.Class<T> requiredType)
      Get the value of default "value" the given annotation.
      default java.util.Optional<java.lang.Object> getValue​(java.lang.String annotation, java.lang.String member)
      Get the value of the given annotation member.
      default <T> java.util.Optional<T> getValue​(java.lang.String annotation, java.lang.String member, Argument<T> requiredType)
      Get the value of the given annotation member.
      default <T> java.util.Optional<T> getValue​(java.lang.String annotation, java.lang.String member, java.lang.Class<T> requiredType)
      Get the value of the given annotation member.
      default <T> OptionalValues<T> getValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.Class<T> valueType)
      Get all of the values for the given annotation.
      default <T> OptionalValues<T> getValues​(java.lang.String annotation, java.lang.Class<T> valueType)
      Get all of the values for the given annotation and type of the underlying values.
      default boolean hasAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      Checks whether this object has the given annotation on the object itself or inherited from a parent.
      default boolean hasAnnotation​(java.lang.String annotation)
      Checks whether this object has the given annotation on the object itself or inherited from a parent.
      default boolean hasDeclaredAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      Checks whether this object has the given annotation directly declared on the object.
      default boolean hasDeclaredAnnotation​(java.lang.String annotation)
      Checks whether this object has the given annotation directly declared on the object.
      default boolean hasDeclaredStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
      Checks whether this object has the given stereotype directly declared on the object.
      default boolean hasDeclaredStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation>... annotations)
      Checks whether this object has any of the given stereotype directly declared on the object.
      default boolean hasDeclaredStereotype​(java.lang.String annotation)
      Checks whether this object has the given annotation stereotype on the object itself and not inherited from a parent
      default boolean hasPropertyExpressions()
      Does the metadata contain any property expressions like ${foo.bar}.
      default boolean hasSimpleAnnotation​(java.lang.String annotation)
      Checks whether the given annotation simple name (name without the package) is present in the annotations.
      default boolean hasSimpleDeclaredAnnotation​(java.lang.String annotation)
      Checks whether the given annotation simple name (name without the package) is present in the declared annotations.
      default boolean hasStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      Checks whether this object has the given annotation stereotype on the object itself or inherited from a parent
      default boolean hasStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation>... annotations)
      Check whether any of the given stereotypes is present.
      default boolean hasStereotype​(java.lang.String annotation)
      Checks whether this object has the given annotation stereotype on the object itself or inherited from a parent
      default boolean hasStereotype​(java.lang.String[] annotations)
      Check whether any of the given stereotypes is present.
      default java.util.OptionalInt intValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      The value as an OptionalInt for the given annotation and member.
      default java.util.OptionalInt intValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The value as an OptionalInt for the given annotation and member.
      default java.util.OptionalInt intValue​(java.lang.String annotation, java.lang.String member)
      The value as an OptionalInt for the given annotation and member.
      default boolean isAnnotationPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
      Return whether an annotation is present.
      default boolean isDeclaredAnnotationPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
      Variation of AnnotationSource.isAnnotationPresent(Class) for declared annotations.
      default boolean isEmpty()
      Is the annotation metadata empty.
      default boolean isFalse​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      Returns whether the value of the given member is true.
      default boolean isFalse​(java.lang.String annotation, java.lang.String member)
      Returns whether the value of the given member is true.
      default boolean isPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      Returns whether the value of the given member is present.
      default boolean isPresent​(java.lang.String annotation, java.lang.String member)
      Returns whether the value of the given member is present.
      default boolean isRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      Is repeatable annotation?
      default boolean isRepeatableAnnotation​(java.lang.String annotation)
      Is repeatable annotation?
      default boolean isTrue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      Returns whether the value of the given member is true.
      default boolean isTrue​(java.lang.String annotation, java.lang.String member)
      Returns whether the value of the given member is true.
      default java.util.OptionalLong longValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The value as an OptionalLong for the given annotation and member.
      default java.util.OptionalLong longValue​(java.lang.String annotation, java.lang.String member)
      The value as an OptionalLong for the given annotation and member.
      default java.util.Optional<java.lang.String> stringValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      The value as an optional string for the given annotation and member.
      default java.util.Optional<java.lang.String> stringValue​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The value as an optional string for the given annotation and member.
      default java.util.Optional<java.lang.String> stringValue​(java.lang.String annotation)
      The value as an optional string for the given annotation and member.
      default java.util.Optional<java.lang.String> stringValue​(java.lang.String annotation, java.lang.String member)
      The value as an optional string for the given annotation and member.
      default java.lang.String[] stringValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
      The values as string array for the given annotation and member.
      default java.lang.String[] stringValues​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String member)
      The values as string array for the given annotation and member.
      default java.lang.String[] stringValues​(java.lang.String annotation)
      The values as string array for the given annotation and member.
      default java.lang.String[] stringValues​(java.lang.String annotation, java.lang.String member)
      The values as string array for the given annotation and member.
      default <T extends java.lang.annotation.Annotation>
      T
      synthesize​(java.lang.Class<T> annotationClass)
      Synthesizes a new annotation from the metadata for the given annotation type.
      default <T extends java.lang.annotation.Annotation>
      T
      synthesize​(java.lang.Class<T> annotationClass, java.lang.String sourceAnnotation)
      Synthesizes a new annotation for the given annotation type using the member values of the given source annotation.
      default java.lang.annotation.Annotation[] synthesizeAll()
      Synthesizes a new annotations from the metadata.
      default <T extends java.lang.annotation.Annotation>
      T[]
      synthesizeAnnotationsByType​(java.lang.Class<T> annotationClass)
      Synthesizes a new annotations from the metadata for the given type.
      default java.lang.annotation.Annotation[] synthesizeDeclared()
      Synthesizes a new annotations from the metadata.
      default <T extends java.lang.annotation.Annotation>
      T
      synthesizeDeclared​(java.lang.Class<T> annotationClass)
      Synthesizes a new annotation from the metadata for the given annotation type.
      default <T extends java.lang.annotation.Annotation>
      T
      synthesizeDeclared​(java.lang.Class<T> annotationClass, java.lang.String sourceAnnotation)
      Synthesizes a new annotation declared for the given annotation type using the member values of the given source annotation.
      default <T extends java.lang.annotation.Annotation>
      T[]
      synthesizeDeclaredAnnotationsByType​(java.lang.Class<T> annotationClass)
      Synthesizes a new annotations from the metadata for the given type.
    • Method Detail

      • hasSimpleAnnotation

        default boolean hasSimpleAnnotation​(@Nullable
                                            java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Checks whether the given annotation simple name (name without the package) is present in the annotations.
        Specified by:
        hasSimpleAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • hasPropertyExpressions

        default boolean hasPropertyExpressions()
        Description copied from interface: AnnotationMetadata
        Does the metadata contain any property expressions like ${foo.bar}. Note this by default returns true as previous versions of Micronaut must assume metadata is present. The compilation time this is computed in order to decide whether to instrument annotation metadata with environment specific logic.
        Specified by:
        hasPropertyExpressions in interface AnnotationMetadata
        Returns:
        True if property expressions are present
      • hasSimpleDeclaredAnnotation

        default boolean hasSimpleDeclaredAnnotation​(@Nullable
                                                    java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Checks whether the given annotation simple name (name without the package) is present in the declared annotations.
        Specified by:
        hasSimpleDeclaredAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • enumValues

        default <E extends java.lang.Enum> E[] enumValues​(@NonNull
                                                          java.lang.String annotation,
                                                          java.lang.Class<E> enumType)
        Description copied from interface: AnnotationMetadata
        The enum values for the given annotation.
        Specified by:
        enumValues in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        enumType - The enum type
        Returns:
        An array of enum values
      • enumValues

        default <E extends java.lang.Enum> E[] enumValues​(@NonNull
                                                          java.lang.String annotation,
                                                          @NonNull
                                                          java.lang.String member,
                                                          java.lang.Class<E> enumType)
        Description copied from interface: AnnotationMetadata
        The enum values for the given annotation.
        Specified by:
        enumValues in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        member - The annotation member
        enumType - The enum type
        Returns:
        An array of enum values
      • enumValues

        default <E extends java.lang.Enum> E[] enumValues​(@NonNull
                                                          java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                          java.lang.Class<E> enumType)
        Description copied from interface: AnnotationMetadata
        The enum values for the given annotation.
        Specified by:
        enumValues in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        enumType - The enum type
        Returns:
        An array of enum values
      • enumValues

        default <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)
        Description copied from interface: AnnotationMetadata
        The enum values for the given annotation.
        Specified by:
        enumValues in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        member - The annotation member
        enumType - The enum type
        Returns:
        An array of enum values
      • classValues

        default <T> java.lang.Class<T>[] classValues​(@NonNull
                                                     java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValues in interface AnnotationMetadata
        Type Parameters:
        T - The type of the class
        Parameters:
        annotation - The annotation
        Returns:
        An Optional class
      • classValues

        default <T> java.lang.Class<T>[] classValues​(@NonNull
                                                     java.lang.String annotation,
                                                     @NonNull
                                                     java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValues in interface AnnotationMetadata
        Type Parameters:
        T - The type of the class
        Parameters:
        annotation - The annotation
        member - The annotation member
        Returns:
        An Optional class
      • classValues

        default <T> java.lang.Class<T>[] classValues​(@NonNull
                                                     java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValues in interface AnnotationMetadata
        Type Parameters:
        T - The type of the class
        Parameters:
        annotation - The annotation
        Returns:
        An Optional class
      • classValues

        default <T> java.lang.Class<T>[] classValues​(@NonNull
                                                     java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                     @NonNull
                                                     java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValues in interface AnnotationMetadata
        Type Parameters:
        T - The type of the class
        Parameters:
        annotation - The annotation
        member - The annotation member
        Returns:
        An Optional class
      • enumValue

        default <E extends java.lang.Enum> java.util.Optional<E> enumValue​(@NonNull
                                                                           java.lang.String annotation,
                                                                           java.lang.Class<E> enumType)
        Description copied from interface: AnnotationMetadata
        The value of the given enum.
        Specified by:
        enumValue in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        enumType - The enum type
        Returns:
        An Optional enum value
      • enumValue

        default <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)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        enumValue in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        member - The annotation member
        enumType - The enum type
        Returns:
        An Optional class
      • enumValue

        default <E extends java.lang.Enum> java.util.Optional<E> enumValue​(@NonNull
                                                                           java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                           java.lang.Class<E> enumType)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        enumValue in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        enumType - The enum type
        Returns:
        An Optional class
      • enumValue

        default <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)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        enumValue in interface AnnotationMetadata
        Type Parameters:
        E - The enum type
        Parameters:
        annotation - The annotation
        member - The annotation member
        enumType - The enum type
        Returns:
        An Optional class
      • longValue

        default java.util.OptionalLong longValue​(@NonNull
                                                 java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                 @NonNull
                                                 java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalLong for the given annotation and member.
        Specified by:
        longValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        THe OptionalLong value
      • booleanValue

        default java.util.Optional<java.lang.Boolean> booleanValue​(@NonNull
                                                                   java.lang.String annotation,
                                                                   @NonNull
                                                                   java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an optional boolean for the given annotation and member.
        Specified by:
        booleanValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        The string value if it is present
      • booleanValue

        default java.util.Optional<java.lang.Boolean> booleanValue​(@NonNull
                                                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                   @NonNull
                                                                   java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an optional boolean for the given annotation and member.
        Specified by:
        booleanValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        The string value if it is present
      • booleanValue

        @NonNull
        default java.util.Optional<java.lang.Boolean> booleanValue​(@NonNull
                                                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        The value as an optional boolean for the given annotation and member.
        Specified by:
        booleanValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        The string value if it is present
      • booleanValue

        @NonNull
        default java.util.Optional<java.lang.Boolean> booleanValue​(@NonNull
                                                                   java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        The value as an optional boolean for the given annotation and member.
        Specified by:
        booleanValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        The string value if it is present
      • stringValues

        @NonNull
        default java.lang.String[] stringValues​(@NonNull
                                                java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                @NonNull
                                                java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The values as string array for the given annotation and member.
        Specified by:
        stringValues in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        The string values if it is present
      • stringValues

        @NonNull
        default java.lang.String[] stringValues​(@NonNull
                                                java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        The values as string array for the given annotation and member.
        Specified by:
        stringValues in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        The string values if it is present
      • stringValues

        @NonNull
        default java.lang.String[] stringValues​(@NonNull
                                                java.lang.String annotation,
                                                @NonNull
                                                java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The values as string array for the given annotation and member.
        Specified by:
        stringValues in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        The string values if it is present
      • stringValues

        @NonNull
        default java.lang.String[] stringValues​(@NonNull
                                                java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        The values as string array for the given annotation and member.
        Specified by:
        stringValues in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        The string values if it is present
      • intValue

        @NonNull
        default java.util.OptionalInt intValue​(@NonNull
                                               java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                               @NonNull
                                               java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalInt for the given annotation and member.
        Specified by:
        intValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        THe OptionalInt value
      • intValue

        @NonNull
        default java.util.OptionalInt intValue​(@NonNull
                                               java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalInt for the given annotation and member.
        Specified by:
        intValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        THe OptionalInt value
      • stringValue

        @NonNull
        default java.util.Optional<java.lang.String> stringValue​(@NonNull
                                                                 java.lang.String annotation,
                                                                 @NonNull
                                                                 java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an optional string for the given annotation and member.
        Specified by:
        stringValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        The string value if it is present
      • stringValue

        @NonNull
        default java.util.Optional<java.lang.String> stringValue​(@NonNull
                                                                 java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                 @NonNull
                                                                 java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an optional string for the given annotation and member.
        Specified by:
        stringValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        The string value if it is present
      • stringValue

        @NonNull
        default java.util.Optional<java.lang.String> stringValue​(@NonNull
                                                                 java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        The value as an optional string for the given annotation and member.
        Specified by:
        stringValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        The string value if it is present
      • stringValue

        @NonNull
        default java.util.Optional<java.lang.String> stringValue​(@NonNull
                                                                 java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        The value as an optional string for the given annotation and member.
        Specified by:
        stringValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        The string value if it is present
      • doubleValue

        @NonNull
        default java.util.OptionalDouble doubleValue​(@NonNull
                                                     java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                     @NonNull
                                                     java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalDouble for the given annotation and member.
        Specified by:
        doubleValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        THe OptionalDouble value
      • doubleValue

        @NonNull
        default java.util.OptionalDouble doubleValue​(@NonNull
                                                     java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalDouble for the given annotation and member.
        Specified by:
        doubleValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        THe OptionalDouble value
      • getDefaultValues

        @NonNull
        default java.util.Map<java.lang.String,​java.lang.Object> getDefaultValues​(@NonNull
                                                                                        java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Return the default values for the given annotation name.
        Specified by:
        getDefaultValues in interface AnnotationMetadata
        Parameters:
        annotation - The annotation name
        Returns:
        The default values
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.String annotation,
                                                   @NonNull
                                                   Argument<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of default "value" the given annotation.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - Generic type
        Parameters:
        annotation - The annotation class
        requiredType - requiredType
        Returns:
        An Optional of the value
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                   @NonNull
                                                   Argument<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of default "value" the given annotation.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - Generic type
        Parameters:
        annotation - The annotation class
        requiredType - requiredType
        Returns:
        An Optional of the value
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.String annotation,
                                                   @NonNull
                                                   java.lang.String member,
                                                   @NonNull
                                                   Argument<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of the given annotation member.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - The value
        Parameters:
        annotation - The annotation class
        member - The annotation member
        requiredType - The required type
        Returns:
        An Optional of the value
      • getDefaultValue

        @NonNull
        default <T> java.util.Optional<T> getDefaultValue​(@NonNull
                                                          java.lang.String annotation,
                                                          @NonNull
                                                          java.lang.String member,
                                                          @NonNull
                                                          Argument<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Return the default value for the given annotation member.
        Specified by:
        getDefaultValue in interface AnnotationMetadata
        Type Parameters:
        T - The required generic type
        Parameters:
        annotation - The annotation
        member - The member
        requiredType - The required type
        Returns:
        An optional value
      • getDefaultValue

        @NonNull
        default <T> java.util.Optional<T> getDefaultValue​(@NonNull
                                                          java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                          @NonNull
                                                          java.lang.String member,
                                                          @NonNull
                                                          Argument<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Return the default value for the given annotation member.
        Specified by:
        getDefaultValue in interface AnnotationMetadata
        Type Parameters:
        T - The required generic type
        Parameters:
        annotation - The annotation
        member - The member
        requiredType - The required type
        Returns:
        An optional value
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                   @NonNull
                                                   java.lang.String member,
                                                   @NonNull
                                                   Argument<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of the given annotation member.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - The value
        Parameters:
        annotation - The annotation class
        member - The annotation member
        requiredType - The required type
        Returns:
        An Optional of the value
      • synthesizeDeclared

        default <T extends java.lang.annotation.Annotation> T synthesizeDeclared​(@NonNull
                                                                                 java.lang.Class<T> annotationClass)
        Description copied from interface: AnnotationSource
        Synthesizes a new annotation from the metadata for the given annotation type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.

        This method ignores inherited annotations. (Returns null if no annotations are directly present on this element.)

        Specified by:
        synthesizeDeclared in interface AnnotationMetadataProvider
        Specified by:
        synthesizeDeclared in interface AnnotationSource
        Type Parameters:
        T - The annotation generic type
        Parameters:
        annotationClass - The annotation class
        Returns:
        The annotation or null if it doesn't exist
      • synthesizeAnnotationsByType

        @NonNull
        default <T extends java.lang.annotation.Annotation> T[] synthesizeAnnotationsByType​(@NonNull
                                                                                            java.lang.Class<T> annotationClass)
        Description copied from interface: AnnotationSource
        Synthesizes a new annotations from the metadata for the given type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.
        Specified by:
        synthesizeAnnotationsByType in interface AnnotationMetadataProvider
        Specified by:
        synthesizeAnnotationsByType in interface AnnotationSource
        Type Parameters:
        T - The annotation generic type
        Parameters:
        annotationClass - The annotation type
        Returns:
        All annotations by the given type
      • synthesizeDeclaredAnnotationsByType

        @NonNull
        default <T extends java.lang.annotation.Annotation> T[] synthesizeDeclaredAnnotationsByType​(@NonNull
                                                                                                    java.lang.Class<T> annotationClass)
        Description copied from interface: AnnotationSource
        Synthesizes a new annotations from the metadata for the given type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.
        Specified by:
        synthesizeDeclaredAnnotationsByType in interface AnnotationMetadataProvider
        Specified by:
        synthesizeDeclaredAnnotationsByType in interface AnnotationSource
        Type Parameters:
        T - The annotation generic type
        Parameters:
        annotationClass - The annotation type
        Returns:
        Declared annotations by the given type
      • getDeclaredAnnotation

        @Nullable
        default <T extends java.lang.annotation.Annotation> AnnotationValue<T> getDeclaredAnnotation​(@NonNull
                                                                                                     java.lang.String annotation)
        Description copied from interface: AnnotationSource
        Get all of the values for the given annotation that are directly declared on the annotated element.
        Specified by:
        getDeclaredAnnotation in interface AnnotationSource
        Type Parameters:
        T - The annotation type
        Parameters:
        annotation - The annotation name
        Returns:
        A AnnotationValue instance
      • getDefaultValue

        @NonNull
        default <T> java.util.Optional<T> getDefaultValue​(@NonNull
                                                          java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                          @NonNull
                                                          java.lang.String member,
                                                          @NonNull
                                                          java.lang.Class<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Return the default value for the given annotation member.
        Specified by:
        getDefaultValue in interface AnnotationMetadata
        Type Parameters:
        T - The required generic type
        Parameters:
        annotation - The annotation
        member - The member
        requiredType - The required type
        Returns:
        An optional value
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                   @NonNull
                                                   java.lang.String member,
                                                   @NonNull
                                                   java.lang.Class<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of the given annotation member.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - The value
        Parameters:
        annotation - The annotation class
        member - The annotation member
        requiredType - The required type
        Returns:
        An Optional of the value
      • getAnnotationNameByStereotype

        @NonNull
        default java.util.Optional<java.lang.String> getAnnotationNameByStereotype​(java.lang.String stereotype)
        Description copied from interface: AnnotationMetadata
        Find the first annotation name for the given stereotype.
        Specified by:
        getAnnotationNameByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The annotation name
      • getDeclaredAnnotationNameByStereotype

        @NonNull
        default java.util.Optional<java.lang.String> getDeclaredAnnotationNameByStereotype​(java.lang.String stereotype)
        Description copied from interface: AnnotationMetadata
        Find the first annotation name for the given stereotype.
        Specified by:
        getDeclaredAnnotationNameByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The annotation name
      • getAnnotationTypeByStereotype

        @NonNull
        default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypeByStereotype​(@NonNull
                                                                                                                             java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
        Description copied from interface: AnnotationMetadata
        Find the first annotation name for the given stereotype.
        Specified by:
        getAnnotationTypeByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The annotation name
      • getDeclaredAnnotationTypeByStereotype

        @NonNull
        default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getDeclaredAnnotationTypeByStereotype​(@NonNull
                                                                                                                                     java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
        Description copied from interface: AnnotationMetadata
        Find the first declared annotation name for the given stereotype.
        Specified by:
        getDeclaredAnnotationTypeByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The annotation name
      • getDeclaredAnnotationTypeByStereotype

        @NonNull
        default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getDeclaredAnnotationTypeByStereotype​(java.lang.String stereotype)
        Description copied from interface: AnnotationMetadata
        Find the first annotation name for the given stereotype.
        Specified by:
        getDeclaredAnnotationTypeByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The annotation name
      • getAnnotationTypeByStereotype

        @NonNull
        default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypeByStereotype​(java.lang.String stereotype)
        Description copied from interface: AnnotationMetadata
        Find the first annotation name for the given stereotype.
        Specified by:
        getAnnotationTypeByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The annotation name
      • getAnnotationNameByStereotype

        @NonNull
        default java.util.Optional<java.lang.String> getAnnotationNameByStereotype​(@NonNull
                                                                                   java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
        Description copied from interface: AnnotationMetadata
        Find the first annotation name for the given stereotype.
        Specified by:
        getAnnotationNameByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The annotation name
      • getAnnotationNamesByStereotype

        @NonNull
        default java.util.List<java.lang.String> getAnnotationNamesByStereotype​(@NonNull
                                                                                java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
        Description copied from interface: AnnotationMetadata
        Resolve all of the annotation names that feature the given stereotype.
        Specified by:
        getAnnotationNamesByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The annotation names
        Returns:
        A set of annotation names
      • getAnnotationTypesByStereotype

        @NonNull
        default java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypesByStereotype​(@NonNull
                                                                                                                          java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
        Description copied from interface: AnnotationMetadata
        Resolve all of the annotation names that feature the given stereotype.
        Specified by:
        getAnnotationTypesByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The annotation names
        Returns:
        A set of annotation names
      • getAnnotationTypesByStereotype

        @NonNull
        default java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypesByStereotype​(@NonNull
                                                                                                                          java.lang.String stereotype)
        Description copied from interface: AnnotationMetadata
        Resolve all of the annotation names that feature the given stereotype.
        Specified by:
        getAnnotationTypesByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The annotation names
        Returns:
        A set of annotation names
      • getAnnotationTypesByStereotype

        @NonNull
        default java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypesByStereotype​(@NonNull
                                                                                                                          java.lang.Class<? extends java.lang.annotation.Annotation> stereotype,
                                                                                                                          @NonNull
                                                                                                                          java.lang.ClassLoader classLoader)
        Description copied from interface: AnnotationMetadata
        Resolve all of the annotation names that feature the given stereotype.
        Specified by:
        getAnnotationTypesByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The annotation names
        classLoader - The classloader to load annotation type
        Returns:
        A set of annotation names
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.String annotation,
                                                   @NonNull
                                                   java.lang.String member,
                                                   @NonNull
                                                   java.lang.Class<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of the given annotation member.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - The value
        Parameters:
        annotation - The annotation class
        member - The annotation member
        requiredType - The required type
        Returns:
        An Optional of the value
      • longValue

        @NonNull
        default java.util.OptionalLong longValue​(@NonNull
                                                 java.lang.String annotation,
                                                 @NonNull
                                                 java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalLong for the given annotation and member.
        Specified by:
        longValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        THe OptionalLong value
      • classValue

        @NonNull
        default java.util.Optional<java.lang.Class> classValue​(@NonNull
                                                               java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        An Optional class
      • classValue

        @NonNull
        default java.util.Optional<java.lang.Class> classValue​(@NonNull
                                                               java.lang.String annotation,
                                                               @NonNull
                                                               java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The annotation member
        Returns:
        An Optional class
      • classValue

        @NonNull
        default java.util.Optional<java.lang.Class> classValue​(@NonNull
                                                               java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        An Optional class
      • classValue

        @NonNull
        default java.util.Optional<java.lang.Class> classValue​(@NonNull
                                                               java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                               @NonNull
                                                               java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value of the annotation as a Class.
        Specified by:
        classValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The annotation member
        Returns:
        An Optional class
      • intValue

        @NonNull
        default java.util.OptionalInt intValue​(@NonNull
                                               java.lang.String annotation,
                                               @NonNull
                                               java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalInt for the given annotation and member.
        Specified by:
        intValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        THe OptionalInt value
      • doubleValue

        @NonNull
        default java.util.OptionalDouble doubleValue​(@NonNull
                                                     java.lang.String annotation,
                                                     @NonNull
                                                     java.lang.String member)
        Description copied from interface: AnnotationMetadata
        The value as an OptionalDouble for the given annotation and member.
        Specified by:
        doubleValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        member - The member
        Returns:
        THe OptionalDouble value
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.String annotation,
                                                   @NonNull
                                                   java.lang.Class<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of default "value" the given annotation.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - The value
        Parameters:
        annotation - The annotation class
        requiredType - The required type
        Returns:
        An Optional of the value
      • getValue

        @NonNull
        default java.util.Optional<java.lang.Object> getValue​(@NonNull
                                                              java.lang.String annotation,
                                                              @NonNull
                                                              java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Get the value of the given annotation member.
        Specified by:
        getValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        An Optional of the value
      • getValue

        @NonNull
        default java.util.Optional<java.lang.Object> getValue​(@NonNull
                                                              java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                              @NonNull
                                                              java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Get the value of the given annotation member.
        Specified by:
        getValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        An Optional of the value
      • isTrue

        default boolean isTrue​(@NonNull
                               java.lang.String annotation,
                               @NonNull
                               java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Returns whether the value of the given member is true.
        Specified by:
        isTrue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        True if the value is true
      • isTrue

        default boolean isTrue​(@NonNull
                               java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                               @NonNull
                               java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Returns whether the value of the given member is true.
        Specified by:
        isTrue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        True if the value is true
      • isPresent

        default boolean isPresent​(@NonNull
                                  java.lang.String annotation,
                                  @NonNull
                                  java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Returns whether the value of the given member is present.
        Specified by:
        isPresent in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        True if the value is true
      • isPresent

        default boolean isPresent​(@NonNull
                                  java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                  @NonNull
                                  java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Returns whether the value of the given member is present.
        Specified by:
        isPresent in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        True if the value is true
      • isFalse

        default boolean isFalse​(@NonNull
                                java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                @NonNull
                                java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Returns whether the value of the given member is true.
        Specified by:
        isFalse in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        True if the value is true
      • isFalse

        default boolean isFalse​(@NonNull
                                java.lang.String annotation,
                                @NonNull
                                java.lang.String member)
        Description copied from interface: AnnotationMetadata
        Returns whether the value of the given member is true.
        Specified by:
        isFalse in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        member - The annotation member
        Returns:
        True if the value is true
      • getValue

        @NonNull
        default java.util.Optional<java.lang.Object> getValue​(@NonNull
                                                              java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Get the value of default "value" the given annotation.
        Specified by:
        getValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        Returns:
        An Optional of the value
      • getValue

        @NonNull
        default java.util.Optional<java.lang.Object> getValue​(@NonNull
                                                              java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        Get the value of default "value" the given annotation.
        Specified by:
        getValue in interface AnnotationMetadata
        Parameters:
        annotation - The annotation class
        Returns:
        An Optional of the value
      • getValue

        @NonNull
        default <T> java.util.Optional<T> getValue​(@NonNull
                                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                   @NonNull
                                                   java.lang.Class<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Get the value of default "value" the given annotation.
        Specified by:
        getValue in interface AnnotationMetadata
        Type Parameters:
        T - Generic type
        Parameters:
        annotation - The annotation class
        requiredType - requiredType
        Returns:
        An Optional of the value
      • getAnnotationType

        @NonNull
        default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(@NonNull
                                                                                                                 java.lang.String name)
        Description copied from interface: AnnotationMetadata
        Gets the type for a given annotation if it is present on the classpath. Subclasses can potentially override to provide optimized loading.
        Specified by:
        getAnnotationType in interface AnnotationMetadata
        Parameters:
        name - The type name
        Returns:
        The type if present
      • getAnnotationType

        @NonNull
        default java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType​(@NonNull
                                                                                                                 java.lang.String name,
                                                                                                                 @NonNull
                                                                                                                 java.lang.ClassLoader classLoader)
        Description copied from interface: AnnotationMetadata
        Gets the type for a given annotation if it is present on the classpath. Subclasses can potentially override to provide optimized loading.
        Specified by:
        getAnnotationType in interface AnnotationMetadata
        Parameters:
        name - The type name
        classLoader - The ClassLoader to load the type
        Returns:
        The type if present
      • hasAnnotation

        default boolean hasAnnotation​(@Nullable
                                      java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        Checks whether this object has the given annotation on the object itself or inherited from a parent.
        Specified by:
        hasAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • hasStereotype

        default boolean hasStereotype​(@Nullable
                                      java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata

        Checks whether this object has the given annotation stereotype on the object itself or inherited from a parent

        .

        An annotation stereotype is a meta annotation potentially applied to another annotation

        Specified by:
        hasStereotype in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • hasStereotype

        default boolean hasStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation>... annotations)
        Description copied from interface: AnnotationMetadata
        Check whether any of the given stereotypes is present.
        Specified by:
        hasStereotype in interface AnnotationMetadata
        Parameters:
        annotations - The annotations
        Returns:
        True if any of the given stereotypes are present
      • hasStereotype

        default boolean hasStereotype​(java.lang.String[] annotations)
        Description copied from interface: AnnotationMetadata
        Check whether any of the given stereotypes is present.
        Specified by:
        hasStereotype in interface AnnotationMetadata
        Parameters:
        annotations - The annotations
        Returns:
        True if any of the given stereotypes are present
      • hasDeclaredAnnotation

        default boolean hasDeclaredAnnotation​(@Nullable
                                              java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        Checks whether this object has the given annotation directly declared on the object.
        Specified by:
        hasDeclaredAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • hasDeclaredStereotype

        default boolean hasDeclaredStereotype​(@Nullable
                                              java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
        Description copied from interface: AnnotationMetadata
        Checks whether this object has the given stereotype directly declared on the object.
        Specified by:
        hasDeclaredStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The annotation
        Returns:
        True if the annotation is present
      • hasDeclaredStereotype

        default boolean hasDeclaredStereotype​(java.lang.Class<? extends java.lang.annotation.Annotation>... annotations)
        Description copied from interface: AnnotationMetadata
        Checks whether this object has any of the given stereotype directly declared on the object.
        Specified by:
        hasDeclaredStereotype in interface AnnotationMetadata
        Parameters:
        annotations - The annotations
        Returns:
        True if any of the given stereotypes are present
      • hasDeclaredAnnotation

        default boolean hasDeclaredAnnotation​(java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Checks whether this object has the given annotation directly declared on the object.
        Specified by:
        hasDeclaredAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • getAnnotationNames

        @NonNull
        default java.util.Set<java.lang.String> getAnnotationNames()
        Description copied from interface: AnnotationMetadata
        All the annotation names this metadata declares.
        Specified by:
        getAnnotationNames in interface AnnotationMetadata
        Returns:
        All the annotation names this metadata declares
      • getDeclaredAnnotationNames

        @NonNull
        default java.util.Set<java.lang.String> getDeclaredAnnotationNames()
        Description copied from interface: AnnotationMetadata
        All the declared annotation names this metadata declares.
        Specified by:
        getDeclaredAnnotationNames in interface AnnotationMetadata
        Returns:
        All the declared annotation names this metadata declares
      • hasAnnotation

        default boolean hasAnnotation​(java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Checks whether this object has the given annotation on the object itself or inherited from a parent.
        Specified by:
        hasAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • hasStereotype

        default boolean hasStereotype​(java.lang.String annotation)
        Description copied from interface: AnnotationMetadata

        Checks whether this object has the given annotation stereotype on the object itself or inherited from a parent

        .

        An annotation stereotype is a meta annotation potentially applied to another annotation

        Specified by:
        hasStereotype in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • hasDeclaredStereotype

        default boolean hasDeclaredStereotype​(java.lang.String annotation)
        Description copied from interface: AnnotationMetadata

        Checks whether this object has the given annotation stereotype on the object itself and not inherited from a parent

        .

        An annotation stereotype is a meta annotation potentially applied to another annotation

        Specified by:
        hasDeclaredStereotype in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        True if the annotation is present
      • getAnnotationNamesByStereotype

        @NonNull
        default java.util.List<java.lang.String> getAnnotationNamesByStereotype​(java.lang.String stereotype)
        Description copied from interface: AnnotationMetadata
        Resolve all of the annotation names that feature the given stereotype.
        Specified by:
        getAnnotationNamesByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The annotation names
        Returns:
        A set of annotation names
      • getDeclaredAnnotationNamesByStereotype

        @NonNull
        default java.util.List<java.lang.String> getDeclaredAnnotationNamesByStereotype​(java.lang.String stereotype)
        Description copied from interface: AnnotationMetadata
        Resolve all of the annotations names for the given stereotype that are declared annotations.
        Specified by:
        getDeclaredAnnotationNamesByStereotype in interface AnnotationMetadata
        Parameters:
        stereotype - The stereotype
        Returns:
        The declared annotations
      • getDefaultValue

        @NonNull
        default <T> java.util.Optional<T> getDefaultValue​(@NonNull
                                                          java.lang.String annotation,
                                                          @NonNull
                                                          java.lang.String member,
                                                          @NonNull
                                                          java.lang.Class<T> requiredType)
        Description copied from interface: AnnotationMetadata
        Return the default value for the given annotation member.
        Specified by:
        getDefaultValue in interface AnnotationMetadata
        Type Parameters:
        T - The required generic type
        Parameters:
        annotation - The annotation
        member - The member
        requiredType - The required type
        Returns:
        An optional value
      • synthesize

        @Nullable
        default <T extends java.lang.annotation.Annotation> T synthesize​(@NonNull
                                                                         java.lang.Class<T> annotationClass)
        Description copied from interface: AnnotationSource
        Synthesizes a new annotation from the metadata for the given annotation type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.
        Specified by:
        synthesize in interface AnnotationMetadataProvider
        Specified by:
        synthesize in interface AnnotationSource
        Type Parameters:
        T - The annotation generic type
        Parameters:
        annotationClass - The annotation class
        Returns:
        The annotation or null if it doesn't exist
      • synthesize

        @Nullable
        default <T extends java.lang.annotation.Annotation> T synthesize​(@NonNull
                                                                         java.lang.Class<T> annotationClass,
                                                                         @NonNull
                                                                         java.lang.String sourceAnnotation)
        Description copied from interface: AnnotationSource
        Synthesizes a new annotation for the given annotation type using the member values of the given source annotation.

        This method allows supporting synthesizing annotations that have been renamed, for example a jakarta.inject.Named annotation an be synthesized from the metadata of the a javax.inject.Named annotation.

        Specified by:
        synthesize in interface AnnotationSource
        Type Parameters:
        T - The annotation generic type
        Parameters:
        annotationClass - The annotation class
        sourceAnnotation - The source annotation that provides the member values
        Returns:
        The annotation or null if it doesn't exist
      • synthesizeDeclared

        @Nullable
        default <T extends java.lang.annotation.Annotation> T synthesizeDeclared​(@NonNull
                                                                                 java.lang.Class<T> annotationClass,
                                                                                 @NonNull
                                                                                 java.lang.String sourceAnnotation)
        Description copied from interface: AnnotationSource
        Synthesizes a new annotation declared for the given annotation type using the member values of the given source annotation.

        This method allows supporting synthesizing annotations that have been renamed, for example a jakarta.inject.Named annotation an be synthesized from the metadata of the a javax.inject.Named annotation.

        Specified by:
        synthesizeDeclared in interface AnnotationSource
        Type Parameters:
        T - The annotation generic type
        Parameters:
        annotationClass - The annotation class
        sourceAnnotation - The source annotation that provides the member values
        Returns:
        The annotation or null if it doesn't exist
      • synthesizeAll

        @NonNull
        default java.lang.annotation.Annotation[] synthesizeAll()
        Description copied from interface: AnnotationSource
        Synthesizes a new annotations from the metadata. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.
        Specified by:
        synthesizeAll in interface AnnotationMetadataProvider
        Specified by:
        synthesizeAll in interface AnnotationSource
        Returns:
        All the annotations
      • synthesizeDeclared

        @NonNull
        default java.lang.annotation.Annotation[] synthesizeDeclared()
        Description copied from interface: AnnotationSource
        Synthesizes a new annotations from the metadata. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.
        Specified by:
        synthesizeDeclared in interface AnnotationMetadataProvider
        Specified by:
        synthesizeDeclared in interface AnnotationSource
        Returns:
        All declared annotations
      • getAnnotationValuesByType

        @NonNull
        default <T extends java.lang.annotation.Annotation> java.util.List<AnnotationValue<T>> getAnnotationValuesByType​(@NonNull
                                                                                                                         java.lang.Class<T> annotationType)
        Description copied from interface: AnnotationMetadata
        Gets all the annotation values by the given repeatable type.
        Specified by:
        getAnnotationValuesByType in interface AnnotationMetadata
        Type Parameters:
        T - The annotation type
        Parameters:
        annotationType - The annotation type
        Returns:
        A list of values
      • getDeclaredAnnotationValuesByType

        @NonNull
        default <T extends java.lang.annotation.Annotation> java.util.List<AnnotationValue<T>> getDeclaredAnnotationValuesByType​(@NonNull
                                                                                                                                 java.lang.Class<T> annotationType)
        Description copied from interface: AnnotationMetadata
        Gets only declared annotation values by the given repeatable type.
        Specified by:
        getDeclaredAnnotationValuesByType in interface AnnotationMetadata
        Type Parameters:
        T - The annotation type
        Parameters:
        annotationType - The annotation type
        Returns:
        A list of values
      • isRepeatableAnnotation

        default boolean isRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        Is repeatable annotation?
        Specified by:
        isRepeatableAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        true if repeatable
      • isRepeatableAnnotation

        default boolean isRepeatableAnnotation​(java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Is repeatable annotation?
        Specified by:
        isRepeatableAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        true if repeatable
      • findRepeatableAnnotation

        default java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
        Description copied from interface: AnnotationMetadata
        Find repeatable annotation container.
        Specified by:
        findRepeatableAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        optional repeatable annotation container
      • findRepeatableAnnotation

        default java.util.Optional<java.lang.String> findRepeatableAnnotation​(java.lang.String annotation)
        Description copied from interface: AnnotationMetadata
        Find repeatable annotation container.
        Specified by:
        findRepeatableAnnotation in interface AnnotationMetadata
        Parameters:
        annotation - The annotation
        Returns:
        optional repeatable annotation container