@Internal public abstract class AbstractEnvironmentAnnotationMetadata extends Object implements AnnotationMetadata
AnnotationMetadata
that is environment specific.Modifier and Type | Field and Description |
---|---|
protected Map<String,Annotation> |
annotationMap |
protected Map<String,Annotation> |
declaredAnnotationMap |
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBER
EMPTY
Modifier | Constructor and Description |
---|---|
protected |
AbstractEnvironmentAnnotationMetadata(DefaultAnnotationMetadata targetMetadata)
Construct a new environment aware annotation metadata.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addAnnotationValuesFromData(List results,
Map<CharSequence,Object> values)
Adds any annotation values found in the values map to the results.
|
protected void |
addValuesToResults(List<AnnotationValue> results,
AnnotationValue values)
Adds a values instance to the results.
|
Optional<Boolean> |
booleanValue(Class<? extends Annotation> annotation,
String member)
The value as an optional boolean for the given annotation and member.
|
Optional<Boolean> |
booleanValue(String annotation,
String member)
The value as an optional boolean for the given annotation and member.
|
Optional<Class> |
classValue(Class<? extends Annotation> annotation,
String member)
The value of the annotation as a Class.
|
Optional<Class> |
classValue(String annotation,
String member)
The value of the annotation as a Class.
|
<T> Class<T>[] |
classValues(Class<? extends Annotation> annotation,
String member)
The value of the annotation as a Class.
|
<T> Class<T>[] |
classValues(String annotation,
String member)
The value of the annotation as a Class.
|
OptionalDouble |
doubleValue(Class<? extends Annotation> annotation,
String member)
The value as an
OptionalDouble for the given annotation and member. |
OptionalDouble |
doubleValue(String annotation,
String member)
The value as an
OptionalDouble for the given annotation and member. |
<E extends Enum> |
enumValue(Class<? extends Annotation> annotation,
String member,
Class<E> enumType)
The value of the annotation as a Class.
|
<E extends Enum> |
enumValue(String annotation,
String member,
Class<E> enumType)
The value of the annotation as a Class.
|
<T extends Annotation> |
findAnnotation(String annotation)
Find an
AnnotationValue for the given annotation name. |
<T extends Annotation> |
findDeclaredAnnotation(String annotation)
Get all of the values for the given annotation that are directly declared on the annotated element.
|
Set<String> |
getAnnotationNames()
All the annotation names this metadata declares.
|
List<String> |
getAnnotationNamesByStereotype(String stereotype)
Resolve all of the annotation names that feature the given stereotype.
|
Optional<Class<? extends Annotation>> |
getAnnotationType(String name)
Gets the type for a given annotation if it is present on the classpath.
|
Optional<Class<? extends Annotation>> |
getAnnotationTypeByStereotype(Class<? extends Annotation> stereotype)
Find the first annotation name for the given stereotype.
|
Optional<Class<? extends Annotation>> |
getAnnotationTypeByStereotype(String stereotype)
Find the first annotation name for the given stereotype.
|
<T extends Annotation> |
getAnnotationValuesByType(Class<T> annotationType)
Gets all the annotation values by the given repeatable type.
|
Set<String> |
getDeclaredAnnotationNames()
All the declared annotation names this metadata declares.
|
List<String> |
getDeclaredAnnotationNamesByStereotype(String stereotype)
Resolve all of the annotations names for the given stereotype that are declared annotations.
|
<T extends Annotation> |
getDeclaredAnnotationValuesByType(Class<T> annotationType)
Gets only declared annotation values by the given repeatable type.
|
<T> Optional<T> |
getDefaultValue(String annotation,
String member,
Argument<T> requiredType)
Return the default value for the given annotation member.
|
<T> Optional<T> |
getDefaultValue(String annotation,
String member,
Class<T> requiredType)
Return the default value for the given annotation member.
|
protected abstract Environment |
getEnvironment()
Resolves the
Environment for this metadata. |
<T> Optional<T> |
getValue(String annotation,
String member,
Argument<T> requiredType)
Get the value of the given annotation member.
|
<T> OptionalValues<T> |
getValues(String annotation,
Class<T> valueType)
Get all of the 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 parent
|
boolean |
hasStereotype(String annotation)
Checks whether this object has the given annotation stereotype on the object itself or inherited from a parent
|
OptionalInt |
intValue(Class<? extends Annotation> annotation,
String member)
The value as an
OptionalInt for the given annotation and member. |
OptionalInt |
intValue(String annotation,
String member)
The value as an
OptionalInt for the given annotation and member. |
boolean |
isFalse(Class<? extends Annotation> annotation,
String member)
Returns whether the value of the given member is true.
|
boolean |
isFalse(String annotation,
String member)
Returns whether the value of the given member is true.
|
boolean |
isTrue(Class<? extends Annotation> annotation,
String member)
Returns whether the value of the given member is true.
|
boolean |
isTrue(String annotation,
String member)
Returns whether the value of the given member is true.
|
OptionalLong |
longValue(Class<? extends Annotation> annotation,
String member)
The value as an
OptionalLong for the given annotation and member. |
OptionalLong |
longValue(String annotation,
String member)
The value as an
OptionalLong for the given annotation and member. |
Optional<String> |
stringValue(Class<? extends Annotation> annotation,
String member)
The value as an optional string for the given annotation and member.
|
Optional<String> |
stringValue(String annotation,
String member)
The value as an optional string for the given annotation and member.
|
String[] |
stringValues(Class<? extends Annotation> annotation,
String member)
The values as string array for the given annotation and member.
|
<T extends Annotation> |
synthesize(Class<T> annotationClass)
Synthesizes a new annotation from the metadata for the given annotation type.
|
Annotation[] |
synthesizeAll()
Synthesizes a new annotations from the metadata.
|
<T extends Annotation> |
synthesizeAnnotationsByType(Class<T> annotationClass)
Synthesizes a new annotations from the metadata for the given type.
|
Annotation[] |
synthesizeDeclared()
Synthesizes a new annotations from the metadata.
|
<T extends Annotation> |
synthesizeDeclared(Class<T> annotationClass)
Synthesizes a new annotation from the metadata for the given annotation type.
|
<T extends Annotation> |
synthesizeDeclaredAnnotationsByType(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, findAnnotation, findDeclaredAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNamesByStereotype, getAnnotationTypesByStereotype, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDefaultValue, getDefaultValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, hasAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isPresent, isPresent, stringValue, stringValue, stringValues
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, synthesize, synthesizeAll, synthesizeDeclared, synthesizeDeclared
protected final Map<String,Annotation> annotationMap
protected final Map<String,Annotation> declaredAnnotationMap
protected AbstractEnvironmentAnnotationMetadata(DefaultAnnotationMetadata targetMetadata)
targetMetadata
- The target annotation metadatapublic <T> Optional<T> getValue(@Nonnull String annotation, @Nonnull 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> Class<T>[] classValues(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
classValues
in interface AnnotationMetadata
T
- The type of the classannotation
- The annotationmember
- The annotation memberOptional
classpublic <T> Class<T>[] classValues(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
classValues
in interface AnnotationMetadata
T
- The type of the classannotation
- The annotationmember
- The annotation memberOptional
classpublic boolean isTrue(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
isTrue
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation memberpublic boolean isFalse(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
isFalse
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation member@Nonnull public Optional<Class<? extends Annotation>> getAnnotationTypeByStereotype(@Nonnull Class<? extends Annotation> stereotype)
AnnotationMetadata
getAnnotationTypeByStereotype
in interface AnnotationMetadata
stereotype
- The stereotype@Nonnull public Optional<Class<? extends Annotation>> getAnnotationTypeByStereotype(@Nullable String stereotype)
AnnotationMetadata
getAnnotationTypeByStereotype
in interface AnnotationMetadata
stereotype
- The stereotype@Nonnull public Optional<Class> classValue(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
classValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The annotation memberOptional
class@Nonnull public Optional<Class> classValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
classValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The annotation memberOptional
classpublic <E extends Enum> Optional<E> enumValue(@Nonnull String annotation, @Nonnull String member, Class<E> enumType)
AnnotationMetadata
enumValue
in interface AnnotationMetadata
E
- The enum typeannotation
- The annotationmember
- The annotation memberenumType
- The enum typeOptional
classpublic <E extends Enum> Optional<E> enumValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member, Class<E> enumType)
AnnotationMetadata
enumValue
in interface AnnotationMetadata
E
- The enum typeannotation
- The annotationmember
- The annotation memberenumType
- The enum typeOptional
classpublic Optional<Boolean> booleanValue(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
booleanValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberpublic Optional<Boolean> booleanValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
booleanValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The member@Nonnull public Optional<String> stringValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
stringValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The member@Nonnull public String[] stringValues(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
stringValues
in interface AnnotationMetadata
annotation
- The annotationmember
- The member@Nonnull public Optional<String> stringValue(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
stringValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberpublic OptionalLong longValue(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
OptionalLong
for the given annotation and member.longValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalLong
valuepublic OptionalLong longValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
OptionalLong
for the given annotation and member.longValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalLong
value@Nonnull public OptionalInt intValue(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
OptionalInt
for the given annotation and member.intValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalInt
value@Nonnull public OptionalInt intValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
OptionalInt
for the given annotation and member.intValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalInt
value@Nonnull public OptionalDouble doubleValue(@Nonnull String annotation, @Nonnull String member)
AnnotationMetadata
OptionalDouble
for the given annotation and member.doubleValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalDouble
value@Nonnull public OptionalDouble doubleValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
OptionalDouble
for the given annotation and member.doubleValue
in interface AnnotationMetadata
annotation
- The annotationmember
- The memberOptionalDouble
valuepublic boolean isTrue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
isTrue
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation memberpublic boolean isFalse(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member)
AnnotationMetadata
isFalse
in interface AnnotationMetadata
annotation
- The annotation classmember
- The annotation member@Nonnull public Optional<Class<? extends Annotation>> getAnnotationType(@Nonnull String name)
AnnotationMetadata
getAnnotationType
in interface AnnotationMetadata
name
- The type name@Nonnull public <T extends Annotation> List<AnnotationValue<T>> getAnnotationValuesByType(@Nonnull Class<T> annotationType)
AnnotationMetadata
getAnnotationValuesByType
in interface AnnotationMetadata
T
- The annotation typeannotationType
- The annotation type@Nonnull public <T extends Annotation> List<AnnotationValue<T>> getDeclaredAnnotationValuesByType(@Nonnull Class<T> annotationType)
AnnotationMetadata
getDeclaredAnnotationValuesByType
in interface AnnotationMetadata
T
- The annotation typeannotationType
- The annotation type@Nonnull public <T extends Annotation> T[] synthesizeAnnotationsByType(@Nonnull Class<T> annotationClass)
AnnotationSource
synthesizeAnnotationsByType
in interface AnnotationSource
T
- The annotation generic typeannotationClass
- The annotation type@Nonnull public <T extends Annotation> T[] synthesizeDeclaredAnnotationsByType(@Nonnull Class<T> annotationClass)
AnnotationSource
synthesizeDeclaredAnnotationsByType
in interface AnnotationSource
T
- The annotation generic typeannotationClass
- The annotation typepublic boolean hasDeclaredAnnotation(@Nullable String annotation)
AnnotationMetadata
hasDeclaredAnnotation
in interface AnnotationMetadata
annotation
- The annotationpublic boolean hasAnnotation(@Nullable String annotation)
AnnotationMetadata
hasAnnotation
in interface AnnotationMetadata
annotation
- The annotationpublic boolean hasStereotype(@Nullable 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 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 List<String> getAnnotationNamesByStereotype(String stereotype)
AnnotationMetadata
getAnnotationNamesByStereotype
in interface AnnotationMetadata
stereotype
- The annotation names@Nonnull public Set<String> getAnnotationNames()
AnnotationMetadata
getAnnotationNames
in interface AnnotationMetadata
@Nonnull public Set<String> getDeclaredAnnotationNames()
AnnotationMetadata
getDeclaredAnnotationNames
in interface AnnotationMetadata
@Nonnull public List<String> getDeclaredAnnotationNamesByStereotype(String stereotype)
AnnotationMetadata
getDeclaredAnnotationNamesByStereotype
in interface AnnotationMetadata
stereotype
- The stereotype@Nonnull public <T extends Annotation> Optional<AnnotationValue<T>> findAnnotation(@Nonnull 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 Annotation> Optional<AnnotationValue<T>> findDeclaredAnnotation(@Nonnull String annotation)
AnnotationSource
findDeclaredAnnotation
in interface AnnotationSource
T
- The annotation typeannotation
- The annotation nameAnnotationValue
instance@Nonnull public <T> OptionalValues<T> getValues(@Nonnull String annotation, @Nonnull Class<T> valueType)
AnnotationMetadata
getValues
in interface AnnotationMetadata
T
- Generic typeannotation
- The annotation namevalueType
- valueTypeOptionalValues
@Nonnull public <T> Optional<T> getDefaultValue(@Nonnull String annotation, @Nonnull String member, @Nonnull Class<T> requiredType)
AnnotationMetadata
getDefaultValue
in interface AnnotationMetadata
T
- The required generic typeannotation
- The annotationmember
- The memberrequiredType
- The required type@Nonnull public <T> Optional<T> getDefaultValue(@Nonnull String annotation, @Nonnull 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.protected void addValuesToResults(List<AnnotationValue> results, AnnotationValue values)
results
- The resultsvalues
- The values@Nullable public <T extends Annotation> T synthesize(@Nonnull Class<T> annotationClass)
AnnotationSource
synthesize
in interface AnnotationSource
T
- The annotation generic typeannotationClass
- The annotation class@Nullable public <T extends Annotation> T synthesizeDeclared(@Nonnull 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 class@Nonnull public Annotation[] synthesizeAll()
AnnotationSource
synthesizeAll
in interface AnnotationSource
@Nonnull public Annotation[] synthesizeDeclared()
AnnotationSource
synthesizeDeclared
in interface AnnotationSource
protected final void addAnnotationValuesFromData(List results, Map<CharSequence,Object> values)
results
- The resultsvalues
- The values