Class DefaultAnnotationMetadata
- All Implemented Interfaces:
AnnotationMetadata
,AnnotationSource
,Cloneable
- Direct Known Subclasses:
MutableAnnotationMetadata
AnnotationMetadata
.
NOTE: Although required to be public This is an internal class and should not be referenced directly in user code
- Since:
- 1.0
- Author:
- Graeme Rocher
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Map<String,
Annotation> protected final Map<String,
Annotation> Fields inherited from interface io.micronaut.core.annotation.AnnotationMetadata
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBER
Fields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTY
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructs empty annotation metadata.DefaultAnnotationMetadata
(@Nullable Map<String, Map<CharSequence, Object>> declaredAnnotations, @Nullable Map<String, Map<CharSequence, Object>> declaredStereotypes, @Nullable Map<String, Map<CharSequence, Object>> allStereotypes, @Nullable Map<String, Map<CharSequence, Object>> allAnnotations, @Nullable Map<String, List<String>> annotationsByStereotype) This constructor is designed to be used by compile time produced subclasses.DefaultAnnotationMetadata
(@Nullable Map<String, Map<CharSequence, Object>> declaredAnnotations, @Nullable Map<String, Map<CharSequence, Object>> declaredStereotypes, @Nullable Map<String, Map<CharSequence, Object>> allStereotypes, @Nullable Map<String, Map<CharSequence, Object>> allAnnotations, @Nullable Map<String, List<String>> annotationsByStereotype, boolean hasPropertyExpressions) This constructor is designed to be used by compile time produced subclasses.DefaultAnnotationMetadata
(@Nullable Map<String, Map<CharSequence, Object>> declaredAnnotations, @Nullable Map<String, Map<CharSequence, Object>> declaredStereotypes, @Nullable Map<String, Map<CharSequence, Object>> allStereotypes, @Nullable Map<String, Map<CharSequence, Object>> allAnnotations, @Nullable Map<String, List<String>> annotationsByStereotype, boolean hasPropertyExpressions, boolean hasEvaluatedExpressions) This constructor is designed to be used by compile time produced subclasses. -
Method Summary
Modifier and TypeMethodDescriptionbooleanValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member) The value as an optional boolean for the given annotation and member.booleanValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.booleanValue
(@NonNull String annotation, @NonNull String member) The value as an optional boolean for the given annotation and member.booleanValue
(@NonNull String annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.classValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member) The value of the annotation as a Class.classValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.classValue
(@NonNull String annotation, @NonNull String member) The value of the annotation as a Class.classValue
(@NonNull String annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.<T> Class<T>[]
classValues
(@NonNull Class<? extends Annotation> annotation, @NonNull String member) The value of the annotation as a Class.<T> Class<T>[]
classValues
(@NonNull String annotation, @NonNull String member) The value of the annotation as a Class.clone()
protected final <K,
V> Map<K, V> cloneMapOfListValue
(Map<K, List<V>> toClone) cloneMapOfMapValue
(Map<K, Map<X, Y>> toClone) Makes a copy of the annotation or returns this.doubleValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member) The value as anOptionalDouble
for the given annotation and member.doubleValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the double value and optionally map its value.doubleValue
(@NonNull String annotation, @NonNull String member) The value as anOptionalDouble
for the given annotation and member.doubleValue
(@NonNull String annotation, @NonNull String member, Function<Object, Object> valueMapper) Retrieve the double value and optionally map its value.enumValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Class<E> enumType) The value of the annotation as a Class.enumValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Class<E> enumType, @Nullable Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.enumValue
(@NonNull Class<? extends Annotation> annotation, Class<E> enumType) The value of the annotation as a Class.The value of the annotation as a Class.enumValue
(@NonNull String annotation, @NonNull String member, Class<E> enumType, @Nullable Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.The value of the given enum.<E extends Enum<E>>
E[]enumValues
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Class<E> enumType) The enum values for the given annotation.<E extends Enum<E>>
E[]enumValues
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Class<E> enumType, @Nullable Function<Object, Object> valueMapper) <E extends Enum<E>>
E[]enumValues
(@NonNull Class<? extends Annotation> annotation, Class<E> enumType) The enum values for the given annotation.<E extends Enum<E>>
E[]The enum values for the given annotation.<E extends Enum<E>>
E[]enumValues
(@NonNull String annotation, @NonNull String member, Class<E> enumType, @Nullable Function<Object, Object> valueMapper) <E extends Enum<E>>
E[]enumValues
(@NonNull String annotation, Class<E> enumType) The enum values for the given annotation.<T extends Annotation>
@NonNull Optional<AnnotationValue<T>>findAnnotation
(@NonNull String annotation) Find anAnnotationValue
for the given annotation name.<T extends Annotation>
@NonNull Optional<AnnotationValue<T>>findDeclaredAnnotation
(@NonNull String annotation) Get all values for the given annotation that are directly declared on the annotated element.findRepeatableAnnotation
(Class<? extends Annotation> annotation) Find repeatable annotation container.findRepeatableAnnotation
(String annotation) Find repeatable annotation container.findRepeatableAnnotationContainerInternal
(@NonNull String annotation) Find annotation's repeatable container.getAnnotationNameByStereotype
(@Nullable String stereotype) Find the first annotation name for the given stereotype.All the annotation names this metadata declares.getAnnotationNamesByStereotype
(@Nullable String stereotype) Resolve all annotation names that feature the given stereotype.@NonNull Optional<Class<? extends Annotation>>
getAnnotationType
(@NonNull String name) Gets the type for a given annotation if it is present on the classpath.@NonNull Optional<Class<? extends Annotation>>
getAnnotationType
(@NonNull String name, @NonNull ClassLoader classLoader) Gets the type for a given annotation if it is present on the classpath.@NonNull Optional<Class<? extends Annotation>>
getAnnotationTypeByStereotype
(@Nullable String stereotype) Find the first annotation name for the given stereotype.<T extends Annotation>
List<AnnotationValue<T>>getAnnotationValuesByName
(String annotationType) Gets all the annotation values by the given repeatable type name.<T extends Annotation>
List<AnnotationValue<T>>getAnnotationValuesByStereotype
(String stereotype) Resolve all annotation values that feature the given stereotype.<T extends Annotation>
@NonNull List<AnnotationValue<T>>getAnnotationValuesByType
(@Nullable Class<T> annotationType) Gets all the annotation values by the given repeatable type.All the declared annotation names this metadata declares.getDeclaredAnnotationNamesByStereotype
(@Nullable String stereotype) Resolve all annotations names for the given stereotype that are declared annotations.<T extends Annotation>
List<AnnotationValue<T>>getDeclaredAnnotationValuesByName
(String annotationType) Gets only declared annotation values by the given repeatable type name.<T extends Annotation>
@NonNull List<AnnotationValue<T>>getDeclaredAnnotationValuesByType
(@NonNull Class<T> annotationType) Gets only declared annotation values by the given repeatable type.Gets the declared metadata without inherited metdata.Returns the names of the annotations which are declared stereotypes.getDefaultValue
(@NonNull String annotation, @NonNull String member, @NonNull Argument<T> requiredType) Return the default value for the given annotation member.Return the default value for the given annotation member.getDefaultValues
(@NonNull String annotation) Return the default values for the given annotation name.Returns the names of the annotations which are stereotypes.getValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, @NonNull Class<T> requiredType) Get the value of the given annotation member.Get the value of the given annotation member.getValue
(@NonNull String annotation, @NonNull String member, @NonNull Argument<T> requiredType, @Nullable Function<Object, Object> valueMapper) Resolves the given value performing type conversion as necessary.Get all values for the given annotation and type of the underlying values.<T> @NonNull OptionalValues<T>
Get all values for the given annotation and type of the underlying values.boolean
hasAnnotation
(String annotation) Checks whether this object has the given annotation on the object itself or inherited from a parent.boolean
hasDeclaredAnnotation
(String annotation) Checks whether this object has the given annotation directly declared on the object.boolean
hasDeclaredStereotype
(String annotation) Checks whether this object has the given annotation stereotype on the object itself and not inherited from a parentboolean
Does the metadata contain any evaluated expressions like#{ T(java.lang.Math).random() }
.boolean
Does the metadata contain any property expressions like${foo.bar}
.boolean
hasStereotype
(String annotation) Checks whether this object has the given annotation stereotype on the object itself or inherited from a parentThe value as anOptionalInt
for the given annotation and member.intValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the int value and optionally map its value.The value as anOptionalInt
for the given annotation and member.intValue
(@NonNull String annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the int value and optionally map its value.boolean
isEmpty()
Is the annotation metadata empty.boolean
Returns whether the value of the given member is true.boolean
Returns whether the value of the given member is present.boolean
isRepeatableAnnotation
(Class<? extends Annotation> annotation) Is repeatable annotation?boolean
isRepeatableAnnotation
(String annotation) Is repeatable annotation?boolean
Returns whether the value of the given member is true.boolean
isTrue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.boolean
Returns whether the value of the given member is true.boolean
isTrue
(@NonNull String annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.The value as anOptionalLong
for the given annotation and member.longValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the long value and optionally map its value.The value as anOptionalLong
for the given annotation and member.longValue
(@NonNull String annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the long value and optionally map its value.protected <T extends Annotation>
@NonNull AnnotationValue<T>newAnnotationValue
(String annotationType, Map<CharSequence, Object> values) static void
registerAnnotationDefaults
(AnnotationClassValue<?> annotation, Map<CharSequence, Object> defaultValues) Registers annotation default values.static void
registerAnnotationDefaults
(String annotation, Map<CharSequence, Object> defaultValues) Registers annotation default values.static void
registerAnnotationType
(AnnotationClassValue<?> annotation) Registers annotation default values.static void
registerRepeatableAnnotations
(Map<String, String> repeatableAnnotations) Registers repeatable annotations.stringValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member) The value as an optional string for the given annotation and member.stringValue
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.stringValue
(@NonNull String annotation, @NonNull String member) The value as an optional string for the given annotation and member.stringValue
(@NonNull String annotation, @NonNull String member, @Nullable Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.stringValues
(@NonNull Class<? extends Annotation> annotation, @NonNull String member) The values as string array for the given annotation and member.stringValues
(@NonNull Class<? extends Annotation> annotation, @NonNull String member, Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.stringValues
(@NonNull String annotation, @NonNull String member) The values as string array for the given annotation and member.stringValues
(@NonNull String annotation, @NonNull String member, Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.<T extends Annotation>
Tsynthesize
(@NonNull Class<T> annotationClass) Synthesizes a new annotation from the metadata for the given annotation type.<T extends Annotation>
Tsynthesize
(@NonNull Class<T> annotationClass, @NonNull String sourceAnnotation) Synthesizes a new annotation for the given annotation type using the member values of the given source annotation.Synthesizes a new annotations from the metadata.<T extends Annotation>
T[]synthesizeAnnotationsByType
(@NonNull Class<T> annotationClass) Synthesizes a new annotations from the metadata for the given type.Synthesizes a new annotations from the metadata.<T extends Annotation>
TsynthesizeDeclared
(@NonNull Class<T> annotationClass) Synthesizes a new annotation from the metadata for the given annotation type.<T extends Annotation>
TsynthesizeDeclared
(@NonNull Class<T> annotationClass, @NonNull String sourceAnnotation) Synthesizes a new annotation declared for the given annotation type using the member values of the given source annotation.<T extends Annotation>
T[]synthesizeDeclaredAnnotationsByType
(@NonNull Class<T> annotationClass) Synthesizes a new annotations from the metadata for the given type.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadata
booleanValue, booleanValue, classValue, classValue, classValues, classValues, doubleValue, enumValuesSet, enumValuesSet, findAnnotation, findDeclaredAnnotation, getAnnotationNameByStereotype, getAnnotationNamesByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDefaultValue, getDefaultValue, getTargetAnnotationMetadata, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, hasAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, hasStereotypeNonRepeating, intValue, isAnnotationPresent, isAnnotationPresent, isDeclaredAnnotationPresent, isDeclaredAnnotationPresent, isFalse, isPresent, stringValue, stringValue, stringValues, stringValues
Methods inherited from interface io.micronaut.core.annotation.AnnotationSource
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, synthesize, synthesize, synthesizeAll, synthesizeDeclared, synthesizeDeclared, synthesizeDeclared
-
Field Details
-
annotationMap
-
declaredAnnotationMap
-
-
Constructor Details
-
DefaultAnnotationMetadata
Constructs empty annotation metadata. -
DefaultAnnotationMetadata
@Internal public DefaultAnnotationMetadata(@Nullable @Nullable Map<String, Map<CharSequence, Object>> declaredAnnotations, @Nullable @Nullable Map<String, Map<CharSequence, Object>> declaredStereotypes, @Nullable @Nullable Map<String, Map<CharSequence, Object>> allStereotypes, @Nullable @Nullable Map<String, Map<CharSequence, Object>> allAnnotations, @Nullable @Nullable Map<String, List<String>> annotationsByStereotype) This constructor is designed to be used by compile time produced subclasses.- Parameters:
declaredAnnotations
- The directly declared annotationsdeclaredStereotypes
- The directly declared stereotypesallStereotypes
- All stereotypesallAnnotations
- All annotationsannotationsByStereotype
- The annotations by stereotype
-
DefaultAnnotationMetadata
@Internal public DefaultAnnotationMetadata(@Nullable @Nullable Map<String, Map<CharSequence, Object>> declaredAnnotations, @Nullable @Nullable Map<String, Map<CharSequence, Object>> declaredStereotypes, @Nullable @Nullable Map<String, Map<CharSequence, Object>> allStereotypes, @Nullable @Nullable Map<String, Map<CharSequence, Object>> allAnnotations, @Nullable @Nullable Map<String, List<String>> annotationsByStereotype, boolean hasPropertyExpressions) This constructor is designed to be used by compile time produced subclasses.- Parameters:
declaredAnnotations
- The directly declared annotationsdeclaredStereotypes
- The directly declared stereotypesallStereotypes
- All stereotypesallAnnotations
- All annotationsannotationsByStereotype
- The annotations by stereotypehasPropertyExpressions
- Whether property expressions exist in the metadata
-
DefaultAnnotationMetadata
@Internal public DefaultAnnotationMetadata(@Nullable @Nullable Map<String, Map<CharSequence, Object>> declaredAnnotations, @Nullable @Nullable Map<String, Map<CharSequence, Object>> declaredStereotypes, @Nullable @Nullable Map<String, Map<CharSequence, Object>> allStereotypes, @Nullable @Nullable Map<String, Map<CharSequence, Object>> allAnnotations, @Nullable @Nullable Map<String, List<String>> annotationsByStereotype, boolean hasPropertyExpressions, boolean hasEvaluatedExpressions) This constructor is designed to be used by compile time produced subclasses.- Parameters:
declaredAnnotations
- The directly declared annotationsdeclaredStereotypes
- The directly declared stereotypesallStereotypes
- All stereotypesallAnnotations
- All annotationsannotationsByStereotype
- The annotations by stereotypehasPropertyExpressions
- Whether property expressions exist in the metadatahasEvaluatedExpressions
- Whether evaluated expressions exist in the metadata
-
-
Method Details
-
getDeclaredMetadata
Description copied from interface:AnnotationMetadata
Gets the declared metadata without inherited metdata.- Specified by:
getDeclaredMetadata
in interfaceAnnotationMetadata
- Returns:
- The declared metadata
-
hasPropertyExpressions
public boolean hasPropertyExpressions()Description copied from interface:AnnotationMetadata
Does the metadata contain any property expressions like${foo.bar}
. Note this by default returnstrue
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 interfaceAnnotationMetadata
- Returns:
- True if property expressions are present
-
hasEvaluatedExpressions
public boolean hasEvaluatedExpressions()Description copied from interface:AnnotationMetadata
Does the metadata contain any evaluated expressions like#{ T(java.lang.Math).random() }
.- Specified by:
hasEvaluatedExpressions
in interfaceAnnotationMetadata
- Returns:
- True if evaluated expressions are present
-
getDefaultValues
@NonNull public @NonNull Map<CharSequence,Object> getDefaultValues(@NonNull @NonNull String annotation) Description copied from interface:AnnotationMetadata
Return the default values for the given annotation name.- Specified by:
getDefaultValues
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation name- Returns:
- The default values
-
isPresent
Description copied from interface:AnnotationMetadata
Returns whether the value of the given member is present.- Specified by:
isPresent
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation classmember
- The annotation member- Returns:
- True if the value is true
-
enumValue
public <E extends Enum<E>> Optional<E> enumValue(@NonNull @NonNull String annotation, Class<E> enumType) Description copied from interface:AnnotationMetadata
The value of the given enum.- Specified by:
enumValue
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationenumType
- The enum type- Returns:
- An
Optional
enum value
-
enumValue
public <E extends Enum<E>> Optional<E> enumValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, Class<E> enumType) Description copied from interface:AnnotationMetadata
The value of the annotation as a Class.- Specified by:
enumValue
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationmember
- The annotation memberenumType
- The enum type- Returns:
- An
Optional
class
-
enumValue
public <E extends Enum<E>> Optional<E> enumValue(@NonNull @NonNull Class<? extends Annotation> annotation, Class<E> enumType) Description copied from interface:AnnotationMetadata
The value of the annotation as a Class.- Specified by:
enumValue
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationenumType
- The enum type- Returns:
- An
Optional
class
-
enumValue
public <E extends Enum<E>> Optional<E> enumValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Class<E> enumType) Description copied from interface:AnnotationMetadata
The value of the annotation as a Class.- Specified by:
enumValue
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationmember
- The annotation memberenumType
- The enum type- Returns:
- An
Optional
class
-
enumValue
@Internal public <E extends Enum<E>> Optional<E> enumValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Class<E> enumType, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationmember
- The memberenumType
- The enum typevalueMapper
- The value mapper- Returns:
- The class value
-
enumValues
Description copied from interface:AnnotationMetadata
The enum values for the given annotation.- Specified by:
enumValues
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationenumType
- The enum type- Returns:
- An array of enum values
-
enumValues
public <E extends Enum<E>> E[] enumValues(@NonNull @NonNull String annotation, @NonNull @NonNull String member, Class<E> enumType) Description copied from interface:AnnotationMetadata
The enum values for the given annotation.- Specified by:
enumValues
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationmember
- The annotation memberenumType
- The enum type- Returns:
- An array of enum values
-
enumValues
public <E extends Enum<E>> E[] enumValues(@NonNull @NonNull Class<? extends Annotation> annotation, Class<E> enumType) Description copied from interface:AnnotationMetadata
The enum values for the given annotation.- Specified by:
enumValues
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationenumType
- The enum type- Returns:
- An array of enum values
-
enumValues
public <E extends Enum<E>> E[] enumValues(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Class<E> enumType) Description copied from interface:AnnotationMetadata
The enum values for the given annotation.- Specified by:
enumValues
in interfaceAnnotationMetadata
- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationmember
- The annotation memberenumType
- The enum type- Returns:
- An array of enum values
-
enumValues
-
enumValues
-
enumValue
@Internal public <E extends Enum<E>> Optional<E> enumValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, Class<E> enumType, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.- Type Parameters:
E
- The enum type- Parameters:
annotation
- The annotationmember
- The memberenumType
- The enum typevalueMapper
- The value mapper- Returns:
- The class value
-
classValues
public <T> Class<T>[] classValues(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value of the annotation as a Class.- Specified by:
classValues
in interfaceAnnotationMetadata
- Type Parameters:
T
- The type of the class- Parameters:
annotation
- The annotationmember
- The annotation member- Returns:
- An
Optional
class
-
classValues
public <T> Class<T>[] classValues(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value of the annotation as a Class.- Specified by:
classValues
in interfaceAnnotationMetadata
- Type Parameters:
T
- The type of the class- Parameters:
annotation
- The annotationmember
- The annotation member- Returns:
- An
Optional
class
-
classValue
@NonNull public @NonNull Optional<Class> classValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value of the annotation as a Class.- Specified by:
classValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The annotation member- Returns:
- An
Optional
class
-
classValue
public Optional<Class> classValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The class value
-
classValue
@NonNull public @NonNull Optional<Class> classValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value of the annotation as a Class.- Specified by:
classValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The annotation member- Returns:
- An
Optional
class
-
classValue
@Internal public Optional<Class> classValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the class value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The class value
-
intValue
@NonNull public @NonNull OptionalInt intValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as anOptionalInt
for the given annotation and member.- Specified by:
intValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- THe
OptionalInt
value
-
intValue
@NonNull public @NonNull OptionalInt intValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as anOptionalInt
for the given annotation and member.- Specified by:
intValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- THe
OptionalInt
value
-
intValue
@Internal public OptionalInt intValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the int value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The int value
-
booleanValue
public Optional<Boolean> booleanValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as an optional boolean for the given annotation and member.- Specified by:
booleanValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- The string value if it is present
-
booleanValue
public Optional<Boolean> booleanValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as an optional boolean for the given annotation and member.- Specified by:
booleanValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- The string value if it is present
-
booleanValue
public Optional<Boolean> booleanValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The boolean value
-
booleanValue
@NonNull public @NonNull Optional<Boolean> booleanValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The boolean value
-
longValue
@NonNull public @NonNull OptionalLong longValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as anOptionalLong
for the given annotation and member.- Specified by:
longValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- THe
OptionalLong
value
-
longValue
@NonNull public @NonNull OptionalLong longValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as anOptionalLong
for the given annotation and member.- Specified by:
longValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- THe
OptionalLong
value
-
longValue
@Internal public OptionalLong longValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the long value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The long value
-
longValue
@NonNull public @NonNull OptionalLong longValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the long value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The long value
-
intValue
@NonNull public @NonNull OptionalInt intValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the int value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The int value
-
stringValue
@NonNull public @NonNull Optional<String> stringValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as an optional string for the given annotation and member.- Specified by:
stringValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- The string value if it is present
-
stringValue
public Optional<String> stringValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The int value
-
stringValues
@NonNull public @NonNull String[] stringValues(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The values as string array for the given annotation and member.- Specified by:
stringValues
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- The string values if it is present
-
stringValues
@NonNull public @NonNull String[] stringValues(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The values as string array for the given annotation and member.- Specified by:
stringValues
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- The string values if it is present
-
stringValues
@NonNull public @NonNull String[] stringValues(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The int value
-
stringValues
@NonNull public @NonNull String[] stringValues(@NonNull @NonNull String annotation, @NonNull @NonNull String member, Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The int value
-
stringValue
@NonNull public @NonNull Optional<String> stringValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as an optional string for the given annotation and member.- Specified by:
stringValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- The string value if it is present
-
stringValue
@NonNull public @NonNull Optional<String> stringValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the string value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The string value
-
isTrue
public boolean isTrue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
Returns whether the value of the given member is true.- Specified by:
isTrue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation classmember
- The annotation member- Returns:
- True if the value is true
-
isTrue
public boolean isTrue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The boolean value
-
isTrue
Description copied from interface:AnnotationMetadata
Returns whether the value of the given member is true.- Specified by:
isTrue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation classmember
- The annotation member- Returns:
- True if the value is true
-
isTrue
public boolean isTrue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the boolean value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The boolean value
-
isFalse
Description copied from interface:AnnotationMetadata
Returns whether the value of the given member is true.- Specified by:
isFalse
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation classmember
- The annotation member- Returns:
- True if the value is true
-
doubleValue
@NonNull public @NonNull OptionalDouble doubleValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as anOptionalDouble
for the given annotation and member.- Specified by:
doubleValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- THe
OptionalDouble
value
-
doubleValue
@NonNull public @NonNull OptionalDouble doubleValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member) Description copied from interface:AnnotationMetadata
The value as anOptionalDouble
for the given annotation and member.- Specified by:
doubleValue
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotationmember
- The member- Returns:
- THe
OptionalDouble
value
-
doubleValue
@Internal public OptionalDouble doubleValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, @Nullable @Nullable Function<Object, Object> valueMapper) Retrieve the double value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The double value
-
doubleValue
@NonNull @Internal public @NonNull OptionalDouble doubleValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, Function<Object, Object> valueMapper) Retrieve the double value and optionally map its value.- Parameters:
annotation
- The annotationmember
- The membervalueMapper
- The value mapper- Returns:
- The double value
-
getValue
@NonNull public <T> @NonNull Optional<T> getValue(@NonNull @NonNull Class<? extends Annotation> annotation, @NonNull @NonNull String member, @NonNull @NonNull Class<T> requiredType) Description copied from interface:AnnotationMetadata
Get the value of the given annotation member.- Specified by:
getValue
in interfaceAnnotationMetadata
- Type Parameters:
T
- The value- Parameters:
annotation
- The annotation classmember
- The annotation memberrequiredType
- The required type- Returns:
- An
Optional
of the value
-
getValue
@NonNull public <T> @NonNull Optional<T> getValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @NonNull @NonNull Argument<T> requiredType) Description copied from interface:AnnotationMetadata
Get the value of the given annotation member.- Specified by:
getValue
in interfaceAnnotationMetadata
- Type Parameters:
T
- The value- Parameters:
annotation
- The annotation classmember
- The annotation memberrequiredType
- The required type- Returns:
- An
Optional
of the value
-
getValue
@NonNull public <T> @NonNull Optional<T> getValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @NonNull @NonNull Argument<T> requiredType, @Nullable @Nullable Function<Object, Object> valueMapper) Resolves the given value performing type conversion as necessary.- Type Parameters:
T
- The generic type- Parameters:
annotation
- The annotationmember
- The memberrequiredType
- The required typevalueMapper
- The value mapper- Returns:
- The resolved value
-
getDefaultValue
@NonNull public <T> @NonNull Optional<T> getDefaultValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @NonNull @NonNull Class<T> requiredType) Description copied from interface:AnnotationMetadata
Return the default value for the given annotation member.- Specified by:
getDefaultValue
in interfaceAnnotationMetadata
- Type Parameters:
T
- The required generic type- Parameters:
annotation
- The annotationmember
- The memberrequiredType
- The required type- Returns:
- An optional value
-
getAnnotationValuesByType
@NonNull public <T extends Annotation> @NonNull List<AnnotationValue<T>> getAnnotationValuesByType(@Nullable @Nullable Class<T> annotationType) Description copied from interface:AnnotationMetadata
Gets all the annotation values by the given repeatable type.- Specified by:
getAnnotationValuesByType
in interfaceAnnotationMetadata
- Type Parameters:
T
- The annotation type- Parameters:
annotationType
- The annotation type- Returns:
- A list of values
-
getAnnotationValuesByName
public <T extends Annotation> List<AnnotationValue<T>> getAnnotationValuesByName(String annotationType) Description copied from interface:AnnotationMetadata
Gets all the annotation values by the given repeatable type name.- Specified by:
getAnnotationValuesByName
in interfaceAnnotationMetadata
- Type Parameters:
T
- The annotation type- Parameters:
annotationType
- The annotation type- Returns:
- A list of values
-
newAnnotationValue
@NonNull protected <T extends Annotation> @NonNull AnnotationValue<T> newAnnotationValue(String annotationType, Map<CharSequence, Object> values) -
getDeclaredAnnotationValuesByType
@NonNull public <T extends Annotation> @NonNull List<AnnotationValue<T>> getDeclaredAnnotationValuesByType(@NonNull @NonNull Class<T> annotationType) Description copied from interface:AnnotationMetadata
Gets only declared annotation values by the given repeatable type.- Specified by:
getDeclaredAnnotationValuesByType
in interfaceAnnotationMetadata
- Type Parameters:
T
- The annotation type- Parameters:
annotationType
- The annotation type- Returns:
- A list of values
-
getDeclaredAnnotationValuesByName
public <T extends Annotation> List<AnnotationValue<T>> getDeclaredAnnotationValuesByName(String annotationType) Description copied from interface:AnnotationMetadata
Gets only declared annotation values by the given repeatable type name.- Specified by:
getDeclaredAnnotationValuesByName
in interfaceAnnotationMetadata
- Type Parameters:
T
- The annotation type- Parameters:
annotationType
- The annotation type- Returns:
- A list of values
-
synthesizeAnnotationsByType
public <T extends Annotation> T[] synthesizeAnnotationsByType(@NonNull @NonNull 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 interfaceAnnotationSource
- Type Parameters:
T
- The annotation generic type- Parameters:
annotationClass
- The annotation type- Returns:
- All annotations by the given type
-
synthesizeDeclaredAnnotationsByType
public <T extends Annotation> T[] synthesizeDeclaredAnnotationsByType(@NonNull @NonNull 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 interfaceAnnotationSource
- Type Parameters:
T
- The annotation generic type- Parameters:
annotationClass
- The annotation type- Returns:
- Declared annotations by the given type
-
isEmpty
public boolean isEmpty()Description copied from interface:AnnotationMetadata
Is the annotation metadata empty.- Specified by:
isEmpty
in interfaceAnnotationMetadata
- Returns:
- True if it is
-
hasDeclaredAnnotation
Description copied from interface:AnnotationMetadata
Checks whether this object has the given annotation directly declared on the object.- Specified by:
hasDeclaredAnnotation
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- True if the annotation is present
-
hasAnnotation
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 interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- True if the annotation is present
-
hasStereotype
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 interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- True if the annotation is present
-
hasDeclaredStereotype
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 interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- True if the annotation is present
-
getAnnotationTypeByStereotype
@NonNull public @NonNull Optional<Class<? extends Annotation>> getAnnotationTypeByStereotype(@Nullable @Nullable String stereotype) Description copied from interface:AnnotationMetadata
Find the first annotation name for the given stereotype.- Specified by:
getAnnotationTypeByStereotype
in interfaceAnnotationMetadata
- Parameters:
stereotype
- The stereotype- Returns:
- The annotation name
-
getAnnotationNameByStereotype
@NonNull public @NonNull Optional<String> getAnnotationNameByStereotype(@Nullable @Nullable String stereotype) Description copied from interface:AnnotationMetadata
Find the first annotation name for the given stereotype.- Specified by:
getAnnotationNameByStereotype
in interfaceAnnotationMetadata
- Parameters:
stereotype
- The stereotype- Returns:
- The annotation name
-
getAnnotationNamesByStereotype
@NonNull public @NonNull List<String> getAnnotationNamesByStereotype(@Nullable @Nullable String stereotype) Description copied from interface:AnnotationMetadata
Resolve all annotation names that feature the given stereotype.- Specified by:
getAnnotationNamesByStereotype
in interfaceAnnotationMetadata
- Parameters:
stereotype
- The annotation names- Returns:
- A set of annotation names
-
getAnnotationValuesByStereotype
public <T extends Annotation> List<AnnotationValue<T>> getAnnotationValuesByStereotype(String stereotype) Description copied from interface:AnnotationMetadata
Resolve all annotation values that feature the given stereotype.- Specified by:
getAnnotationValuesByStereotype
in interfaceAnnotationMetadata
- Type Parameters:
T
- The annotation type- Parameters:
stereotype
- The annotation names- Returns:
- A set of annotation names
-
getAnnotationNames
Description copied from interface:AnnotationMetadata
All the annotation names this metadata declares.- Specified by:
getAnnotationNames
in interfaceAnnotationMetadata
- Returns:
- All the annotation names this metadata declares
-
getStereotypeAnnotationNames
Description copied from interface:AnnotationMetadata
Returns the names of the annotations which are stereotypes.A stereotype is a meta-annotation (an annotation declared on another annotation).
- Specified by:
getStereotypeAnnotationNames
in interfaceAnnotationMetadata
- Returns:
- The names of the stereotype annotations
- See Also:
-
getDeclaredStereotypeAnnotationNames
Description copied from interface:AnnotationMetadata
Returns the names of the annotations which are declared stereotypes.A stereotype is a meta-annotation (an annotation declared on another annotation).
A stereotype is considered declared when it it is a meta-annotation that is present on an annotation directly declared on the element and not inherited from a super class.
- Specified by:
getDeclaredStereotypeAnnotationNames
in interfaceAnnotationMetadata
- Returns:
- The names of the stereotype annotations
- See Also:
-
getDeclaredAnnotationNames
Description copied from interface:AnnotationMetadata
All the declared annotation names this metadata declares.- Specified by:
getDeclaredAnnotationNames
in interfaceAnnotationMetadata
- Returns:
- All the declared annotation names this metadata declares
-
getDeclaredAnnotationNamesByStereotype
@NonNull public @NonNull List<String> getDeclaredAnnotationNamesByStereotype(@Nullable @Nullable String stereotype) Description copied from interface:AnnotationMetadata
Resolve all annotations names for the given stereotype that are declared annotations.- Specified by:
getDeclaredAnnotationNamesByStereotype
in interfaceAnnotationMetadata
- Parameters:
stereotype
- The stereotype- Returns:
- The declared annotations
-
getAnnotationType
@NonNull public @NonNull Optional<Class<? extends Annotation>> getAnnotationType(@NonNull @NonNull 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 interfaceAnnotationMetadata
- Parameters:
name
- The type name- Returns:
- The type if present
-
getAnnotationType
@NonNull public @NonNull Optional<Class<? extends Annotation>> getAnnotationType(@NonNull @NonNull String name, @NonNull @NonNull 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 interfaceAnnotationMetadata
- Parameters:
name
- The type nameclassLoader
- The ClassLoader to load the type- Returns:
- The type if present
-
findAnnotation
@NonNull public <T extends Annotation> @NonNull Optional<AnnotationValue<T>> findAnnotation(@NonNull @NonNull String annotation) Description copied from interface:AnnotationSource
Find anAnnotationValue
for the given annotation name.- Specified by:
findAnnotation
in interfaceAnnotationSource
- Type Parameters:
T
- The annotation type- Parameters:
annotation
- The annotation name- Returns:
- A
AnnotationValue
instance
-
findDeclaredAnnotation
@NonNull public <T extends Annotation> @NonNull Optional<AnnotationValue<T>> findDeclaredAnnotation(@NonNull @NonNull String annotation) Description copied from interface:AnnotationSource
Get all values for the given annotation that are directly declared on the annotated element.- Specified by:
findDeclaredAnnotation
in interfaceAnnotationSource
- Type Parameters:
T
- The annotation type- Parameters:
annotation
- The annotation name- Returns:
- A
AnnotationValue
instance
-
getValues
@NonNull public <T> @NonNull OptionalValues<T> getValues(@NonNull @NonNull String annotation, @NonNull @NonNull Class<T> valueType) Description copied from interface:AnnotationMetadata
Get all values for the given annotation and type of the underlying values.- Specified by:
getValues
in interfaceAnnotationMetadata
- Type Parameters:
T
- Generic type- Parameters:
annotation
- The annotation namevalueType
- valueType- Returns:
- The
OptionalValues
-
getValues
Description copied from interface:AnnotationMetadata
Get all values for the given annotation and type of the underlying values.- Specified by:
getValues
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation name- Returns:
- An immutable map of values
-
getDefaultValue
@NonNull public <T> @NonNull Optional<T> getDefaultValue(@NonNull @NonNull String annotation, @NonNull @NonNull String member, @NonNull @NonNull Argument<T> requiredType) Description copied from interface:AnnotationMetadata
Return the default value for the given annotation member.- Specified by:
getDefaultValue
in interfaceAnnotationMetadata
- Type Parameters:
T
- The required generic type- Parameters:
annotation
- The annotationmember
- The memberrequiredType
- The required type- Returns:
- An optional value
-
isRepeatableAnnotation
Description copied from interface:AnnotationMetadata
Is repeatable annotation?- Specified by:
isRepeatableAnnotation
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- true if repeatable
-
isRepeatableAnnotation
Description copied from interface:AnnotationMetadata
Is repeatable annotation?- Specified by:
isRepeatableAnnotation
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- true if repeatable
-
findRepeatableAnnotation
Description copied from interface:AnnotationMetadata
Find repeatable annotation container.- Specified by:
findRepeatableAnnotation
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- optional repeatable annotation container
-
findRepeatableAnnotation
Description copied from interface:AnnotationMetadata
Find repeatable annotation container.- Specified by:
findRepeatableAnnotation
in interfaceAnnotationMetadata
- Parameters:
annotation
- The annotation- Returns:
- optional repeatable annotation container
-
copyAnnotationMetadata
Description copied from interface:AnnotationMetadata
Makes a copy of the annotation or returns this.- Specified by:
copyAnnotationMetadata
in interfaceAnnotationMetadata
- Returns:
- the copy
-
clone
-
cloneMapOfMapValue
-
cloneMapOfListValue
-
cloneMap
-
registerAnnotationDefaults
@Internal public static void registerAnnotationDefaults(String annotation, Map<CharSequence, Object> defaultValues) Registers annotation default values. Used by generated byte code. DO NOT REMOVE.- Parameters:
annotation
- The annotation namedefaultValues
- The default values
-
registerAnnotationDefaults
@Internal public static void registerAnnotationDefaults(AnnotationClassValue<?> annotation, Map<CharSequence, Object> defaultValues) Registers annotation default values. Used by generated byte code. DO NOT REMOVE.- Parameters:
annotation
- The annotation namedefaultValues
- The default values
-
registerAnnotationType
Registers annotation default values. Used by generated byte code. DO NOT REMOVE.- Parameters:
annotation
- The annotation
-
registerRepeatableAnnotations
@Internal public static void registerRepeatableAnnotations(Map<String, String> repeatableAnnotations) Registers repeatable annotations. Annotation container -> annotations item. Used by generated byte code. DO NOT REMOVE.- Parameters:
repeatableAnnotations
- The annotation
-
findRepeatableAnnotationContainerInternal
@Nullable protected @Nullable String findRepeatableAnnotationContainerInternal(@NonNull @NonNull String annotation) Find annotation's repeatable container.- Parameters:
annotation
- The annotation- Returns:
- the repeatable container or null
-
synthesize
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 interfaceAnnotationSource
- Type Parameters:
T
- The annotation generic type- Parameters:
annotationClass
- The annotation class- Returns:
- The annotation or null if it doesn't exist
-
synthesize
@Nullable public <T extends Annotation> T synthesize(@NonNull @NonNull Class<T> annotationClass, @NonNull @NonNull 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 ajakarta.inject.Named
annotation.- Specified by:
synthesize
in interfaceAnnotationSource
- Type Parameters:
T
- The annotation generic type- Parameters:
annotationClass
- The annotation classsourceAnnotation
- The source annotation that provides the member values- Returns:
- The annotation or null if it doesn't exist
-
synthesizeDeclared
@Nullable public <T extends Annotation> T synthesizeDeclared(@NonNull @NonNull Class<T> annotationClass, @NonNull @NonNull 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 ajakarta.inject.Named
annotation.- Specified by:
synthesizeDeclared
in interfaceAnnotationSource
- Type Parameters:
T
- The annotation generic type- Parameters:
annotationClass
- The annotation classsourceAnnotation
- The source annotation that provides the member values- Returns:
- The annotation or null if it doesn't exist
-
synthesizeDeclared
@Nullable public <T extends Annotation> T synthesizeDeclared(@NonNull @NonNull 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 interfaceAnnotationSource
- Type Parameters:
T
- The annotation generic type- Parameters:
annotationClass
- The annotation class- Returns:
- The annotation or null if it doesn't exist
-
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 interfaceAnnotationSource
- Returns:
- All the annotations
-
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 interfaceAnnotationSource
- Returns:
- All declared annotations
-