@Internal public abstract class AbstractEnvironmentAnnotationMetadata extends java.lang.Object implements AnnotationMetadata
AnnotationMetadata
that is environment specific.CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBER
EMPTY
Modifier | Constructor and Description |
---|---|
protected |
AbstractEnvironmentAnnotationMetadata(AnnotationMetadata targetMetadata)
Construct a new environment aware annotation metadata.
|
Modifier and Type | Method and Description |
---|---|
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.
|
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.
|
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.
|
java.util.Optional<java.lang.Class> |
classValue(java.lang.String annotation,
java.lang.String member)
The value of the annotation as a Class.
|
<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.
|
<T> java.lang.Class<T>[] |
classValues(java.lang.String annotation,
java.lang.String member)
The value of the annotation as a Class.
|
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. |
java.util.OptionalDouble |
doubleValue(java.lang.String annotation,
java.lang.String member)
The value as an
OptionalDouble for the given annotation and member. |
<E extends java.lang.Enum> |
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.
|
<E extends java.lang.Enum> |
enumValue(java.lang.String annotation,
java.lang.String member,
java.lang.Class<E> enumType)
The value of the annotation as a Class.
|
<E extends java.lang.Enum> |
enumValues(java.lang.String annotation,
java.lang.String member,
java.lang.Class<E> enumType)
The enum values for the given annotation.
|
<T extends java.lang.annotation.Annotation> |
findAnnotation(java.lang.String annotation)
Find an
AnnotationValue for the given annotation name. |
<T extends java.lang.annotation.Annotation> |
findDeclaredAnnotation(java.lang.String annotation)
Get all of the values for the given annotation that are directly declared on the annotated element.
|
AnnotationMetadata |
getAnnotationMetadata() |
java.util.Set<java.lang.String> |
getAnnotationNames()
All the annotation names this metadata declares.
|
java.util.List<java.lang.String> |
getAnnotationNamesByStereotype(java.lang.String stereotype)
Resolve all of the annotation names that feature the given stereotype.
|
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.
|
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.
|
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.
|
<T extends java.lang.annotation.Annotation> |
getAnnotationValuesByType(java.lang.Class<T> annotationType)
Gets all the annotation values by the given repeatable type.
|
java.util.Set<java.lang.String> |
getDeclaredAnnotationNames()
All the declared annotation names this metadata declares.
|
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.
|
<T extends java.lang.annotation.Annotation> |
getDeclaredAnnotationValuesByType(java.lang.Class<T> annotationType)
Gets only declared annotation values by the given repeatable type.
|
<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.
|
<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.
|
protected abstract Environment |
getEnvironment()
Resolves the
Environment for this metadata. |
<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.
|
<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.
|
boolean |
hasAnnotation(java.lang.String annotation)
Checks whether this object has the given annotation on the object itself or inherited from a parent.
|
boolean |
hasDeclaredAnnotation(java.lang.String annotation)
Checks whether this object has the given annotation directly declared on the object.
|
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
|
boolean |
hasStereotype(java.lang.String annotation)
Checks whether this object has the given annotation stereotype on the object itself or inherited from a parent
|
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. |
java.util.OptionalInt |
intValue(java.lang.String annotation,
java.lang.String member)
The value as an
OptionalInt for the given annotation and member. |
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.
|
boolean |
isFalse(java.lang.String annotation,
java.lang.String member)
Returns whether the value of the given member is true.
|
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.
|
boolean |
isTrue(java.lang.String annotation,
java.lang.String member)
Returns whether the value of the given member is true.
|
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. |
java.util.OptionalLong |
longValue(java.lang.String annotation,
java.lang.String member)
The value as an
OptionalLong for the given annotation and member. |
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.
|
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.
|
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.
|
<T extends java.lang.annotation.Annotation> |
synthesize(java.lang.Class<T> annotationClass)
Synthesizes a new annotation from the metadata for the given annotation type.
|
<T extends java.lang.annotation.Annotation> |
synthesizeAnnotationsByType(java.lang.Class<T> annotationClass)
Synthesizes a new annotations from the metadata for the given type.
|
<T extends java.lang.annotation.Annotation> |
synthesizeDeclared(java.lang.Class<T> annotationClass)
Synthesizes a new annotation from the metadata for the given annotation type.
|
<T extends java.lang.annotation.Annotation> |
synthesizeDeclaredAnnotationsByType(java.lang.Class<T> annotationClass)
Synthesizes a new annotations from the metadata for the given type.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
booleanValue, booleanValue, classValue, classValue, classValues, classValues, doubleValue, enumValue, enumValue, enumValues, enumValues, enumValues, findAnnotation, findDeclaredAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNamesByStereotype, getAnnotationTypesByStereotype, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDefaultValue, getDefaultValue, getDefaultValues, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, hasAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isPresent, isPresent, stringValue, stringValue, stringValues
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, synthesizeAll, synthesizeDeclared
protected AbstractEnvironmentAnnotationMetadata(AnnotationMetadata targetMetadata)
targetMetadata
- The target annotation metadatapublic AnnotationMetadata getAnnotationMetadata()
@Nullable public <T extends java.lang.annotation.Annotation> T synthesize(@NonNull java.lang.Class<T> annotationClass)
AnnotationSource
synthesize
in interface AnnotationSource
T
- The annotation generic typeannotationClass
- The annotation class@Nullable public <T extends java.lang.annotation.Annotation> T synthesizeDeclared(@NonNull java.lang.Class<T> annotationClass)
AnnotationSource
This method ignores inherited annotations. (Returns null if no annotations are directly present on this element.)
synthesizeDeclared
in interface AnnotationSource
T
- The annotation generic typeannotationClass
- The annotation classpublic <T> java.util.Optional<T> getValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member, @NonNull Argument<T> requiredType)
AnnotationMetadata
getValue
in interface AnnotationMetadata
T
- The valueannotation
- The annotation classmember
- The annotation memberrequiredType
- The required typeOptional
of the valuepublic <T> java.lang.Class<T>[] classValues(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
classValues
in interface AnnotationMetadata
T
- The type of the classannotation
- The annotationmember
- The annotation memberOptional
classpublic <T> java.lang.Class<T>[] classValues(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
classValues
in interface AnnotationMetadata
T
- The type of the classannotation
- The annotationmember
- The annotation memberOptional
classpublic boolean isTrue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
isTrue
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation memberpublic boolean isFalse(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
isFalse
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation member@NonNull public java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypeByStereotype(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
AnnotationMetadata
getAnnotationTypeByStereotype
in interface AnnotationMetadata
stereotype
- The stereotype@NonNull public java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypeByStereotype(@Nullable java.lang.String stereotype)
AnnotationMetadata
getAnnotationTypeByStereotype
in interface AnnotationMetadata
stereotype
- The stereotype@NonNull public java.util.Optional<java.lang.Class> classValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
classValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The annotation memberOptional
class@NonNull public java.util.Optional<java.lang.Class> classValue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
classValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The annotation memberOptional
classpublic <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)
AnnotationMetadata
enumValue
in interface AnnotationMetadata
E
- The enum typeannotation
- The annotationmember
- The annotation memberenumType
- The enum typeOptional
classpublic <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)
AnnotationMetadata
enumValue
in interface AnnotationMetadata
E
- The enum typeannotation
- The annotationmember
- The annotation memberenumType
- The enum typeOptional
classpublic <E extends java.lang.Enum> E[] enumValues(@NonNull java.lang.String annotation, @NonNull java.lang.String member, java.lang.Class<E> enumType)
AnnotationMetadata
enumValues
in interface AnnotationMetadata
E
- The enum typeannotation
- The annotationmember
- The annotation memberenumType
- The enum typepublic java.util.Optional<java.lang.Boolean> booleanValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
booleanValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberpublic java.util.Optional<java.lang.Boolean> booleanValue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
booleanValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The member@NonNull public java.util.Optional<java.lang.String> stringValue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
stringValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The member@NonNull public java.lang.String[] stringValues(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
stringValues
in interface AnnotationMetadata
annotation
- The annotationmember
- The member@NonNull public java.util.Optional<java.lang.String> stringValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
stringValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberpublic java.util.OptionalLong longValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
OptionalLong
for the given annotation and member.longValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalLong
valuepublic java.util.OptionalLong longValue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
OptionalLong
for the given annotation and member.longValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalLong
value@NonNull public java.util.OptionalInt intValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
OptionalInt
for the given annotation and member.intValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalInt
value@NonNull public java.util.OptionalInt intValue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
OptionalInt
for the given annotation and member.intValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalInt
value@NonNull public java.util.OptionalDouble doubleValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadata
OptionalDouble
for the given annotation and member.doubleValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalDouble
value@NonNull public java.util.OptionalDouble doubleValue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
OptionalDouble
for the given annotation and member.doubleValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalDouble
valuepublic boolean isTrue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
isTrue
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation memberpublic boolean isFalse(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadata
isFalse
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation member@NonNull public java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType(@NonNull java.lang.String name)
AnnotationMetadata
getAnnotationType
in interface AnnotationMetadata
name
- The type name@NonNull public <T extends java.lang.annotation.Annotation> java.util.List<AnnotationValue<T>> getAnnotationValuesByType(@NonNull java.lang.Class<T> annotationType)
AnnotationMetadata
getAnnotationValuesByType
in interface AnnotationMetadata
T
- The annotation typeannotationType
- The annotation type@NonNull public <T extends java.lang.annotation.Annotation> java.util.List<AnnotationValue<T>> getDeclaredAnnotationValuesByType(@NonNull java.lang.Class<T> annotationType)
AnnotationMetadata
getDeclaredAnnotationValuesByType
in interface AnnotationMetadata
T
- The annotation typeannotationType
- The annotation type@NonNull public <T extends java.lang.annotation.Annotation> T[] synthesizeAnnotationsByType(@NonNull java.lang.Class<T> annotationClass)
AnnotationSource
synthesizeAnnotationsByType
in interface AnnotationSource
T
- The annotation generic typeannotationClass
- The annotation type@NonNull public <T extends java.lang.annotation.Annotation> T[] synthesizeDeclaredAnnotationsByType(@NonNull java.lang.Class<T> annotationClass)
AnnotationSource
synthesizeDeclaredAnnotationsByType
in interface AnnotationSource
T
- The annotation generic typeannotationClass
- The annotation typepublic boolean hasDeclaredAnnotation(@Nullable java.lang.String annotation)
AnnotationMetadata
hasDeclaredAnnotation
in interface AnnotationMetadata
annotation
- The annotationpublic boolean hasAnnotation(@Nullable java.lang.String annotation)
AnnotationMetadata
hasAnnotation
in interface AnnotationMetadata
annotation
- The annotationpublic boolean hasStereotype(@Nullable java.lang.String annotation)
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
hasStereotype
in interface AnnotationMetadata
annotation
- The annotationpublic boolean hasDeclaredStereotype(@Nullable java.lang.String annotation)
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
hasDeclaredStereotype
in interface AnnotationMetadata
annotation
- The annotation@NonNull public java.util.List<java.lang.String> getAnnotationNamesByStereotype(java.lang.String stereotype)
AnnotationMetadata
getAnnotationNamesByStereotype
in interface AnnotationMetadata
stereotype
- The annotation names@NonNull public java.util.Set<java.lang.String> getAnnotationNames()
AnnotationMetadata
getAnnotationNames
in interface AnnotationMetadata
@NonNull public java.util.Set<java.lang.String> getDeclaredAnnotationNames()
AnnotationMetadata
getDeclaredAnnotationNames
in interface AnnotationMetadata
@NonNull public java.util.List<java.lang.String> getDeclaredAnnotationNamesByStereotype(java.lang.String stereotype)
AnnotationMetadata
getDeclaredAnnotationNamesByStereotype
in interface AnnotationMetadata
stereotype
- The stereotype@NonNull public <T extends java.lang.annotation.Annotation> java.util.Optional<AnnotationValue<T>> findAnnotation(@NonNull java.lang.String annotation)
AnnotationSource
AnnotationValue
for the given annotation name.findAnnotation
in interface AnnotationSource
T
- The annotation typeannotation
- The annotation nameAnnotationValue
instance@NonNull public <T extends java.lang.annotation.Annotation> java.util.Optional<AnnotationValue<T>> findDeclaredAnnotation(@NonNull java.lang.String annotation)
AnnotationSource
findDeclaredAnnotation
in interface AnnotationSource
T
- The annotation typeannotation
- The annotation nameAnnotationValue
instance@NonNull public <T> OptionalValues<T> getValues(@NonNull java.lang.String annotation, @NonNull java.lang.Class<T> valueType)
AnnotationMetadata
getValues
in interface AnnotationMetadata
T
- Generic typeannotation
- The annotation namevalueType
- valueTypeOptionalValues
@NonNull public <T> java.util.Optional<T> getDefaultValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member, @NonNull java.lang.Class<T> requiredType)
AnnotationMetadata
getDefaultValue
in interface AnnotationMetadata
T
- The required generic typeannotation
- The annotationmember
- The memberrequiredType
- The required type@NonNull public <T> java.util.Optional<T> getDefaultValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member, @NonNull Argument<T> requiredType)
AnnotationMetadata
getDefaultValue
in interface AnnotationMetadata
T
- The required generic typeannotation
- The annotationmember
- The memberrequiredType
- The required type@Nullable protected abstract Environment getEnvironment()
Environment
for this metadata.