@Internal public abstract class AbstractEnvironmentAnnotationMetadata extends java.lang.Object implements AnnotationMetadata
AnnotationMetadata that is environment specific.CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBEREMPTY| 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>> | 
getAnnotationType(java.lang.String name,
                 java.lang.ClassLoader classLoader)
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, waitbooleanValue, booleanValue, classValue, classValue, classValues, classValues, doubleValue, enumValue, enumValue, enumValues, enumValues, enumValues, findAnnotation, findDeclaredAnnotation, findRepeatableAnnotation, findRepeatableAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNamesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredMetadata, getDefaultValue, getDefaultValue, getDefaultValues, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasPropertyExpressions, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, intValue, isAnnotationPresent, isAnnotationPresent, isDeclaredAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isPresent, isPresent, isRepeatableAnnotation, isRepeatableAnnotation, stringValue, stringValue, stringValues, stringValues, stringValuesgetAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, synthesize, synthesizeAll, synthesizeDeclared, synthesizeDeclaredprotected 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)
AnnotationSourcesynthesize in interface AnnotationSourceT - The annotation generic typeannotationClass - The annotation class@Nullable public <T extends java.lang.annotation.Annotation> T synthesizeDeclared(@NonNull java.lang.Class<T> annotationClass)
AnnotationSourceThis method ignores inherited annotations. (Returns null if no annotations are directly present on this element.)
synthesizeDeclared in interface AnnotationSourceT - 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)
AnnotationMetadatagetValue in interface AnnotationMetadataT - 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)
AnnotationMetadataclassValues in interface AnnotationMetadataT - 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)
AnnotationMetadataclassValues in interface AnnotationMetadataT - The type of the classannotation - The annotationmember - The annotation memberOptional classpublic boolean isTrue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadataisTrue in interface AnnotationMetadataannotation - The annotation classmember - The annotation memberpublic boolean isFalse(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadataisFalse in interface AnnotationMetadataannotation - 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)
AnnotationMetadatagetAnnotationTypeByStereotype in interface AnnotationMetadatastereotype - The stereotype@NonNull public java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationTypeByStereotype(@Nullable java.lang.String stereotype)
AnnotationMetadatagetAnnotationTypeByStereotype in interface AnnotationMetadatastereotype - The stereotype@NonNull public java.util.Optional<java.lang.Class> classValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadataclassValue in interface AnnotationMetadataannotation - 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)
AnnotationMetadataclassValue in interface AnnotationMetadataannotation - 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)
AnnotationMetadataenumValue in interface AnnotationMetadataE - 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)
AnnotationMetadataenumValue in interface AnnotationMetadataE - 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)
AnnotationMetadataenumValues in interface AnnotationMetadataE - 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)
AnnotationMetadatabooleanValue in interface AnnotationMetadataannotation - 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)
AnnotationMetadatabooleanValue in interface AnnotationMetadataannotation - 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)
AnnotationMetadatastringValue in interface AnnotationMetadataannotation - 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)
AnnotationMetadatastringValues in interface AnnotationMetadataannotation - The annotationmember - The member@NonNull public java.util.Optional<java.lang.String> stringValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadatastringValue in interface AnnotationMetadataannotation - The annotationmember - The memberpublic java.util.OptionalLong longValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadataOptionalLong for the given annotation and member.longValue in interface AnnotationMetadataannotation - The annotationmember - The memberOptionalLong valuepublic java.util.OptionalLong longValue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadataOptionalLong for the given annotation and member.longValue in interface AnnotationMetadataannotation - The annotationmember - The memberOptionalLong value@NonNull public java.util.OptionalInt intValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadataOptionalInt for the given annotation and member.intValue in interface AnnotationMetadataannotation - 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)
AnnotationMetadataOptionalInt for the given annotation and member.intValue in interface AnnotationMetadataannotation - The annotationmember - The memberOptionalInt value@NonNull public java.util.OptionalDouble doubleValue(@NonNull java.lang.String annotation, @NonNull java.lang.String member)
AnnotationMetadataOptionalDouble for the given annotation and member.doubleValue in interface AnnotationMetadataannotation - 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)
AnnotationMetadataOptionalDouble for the given annotation and member.doubleValue in interface AnnotationMetadataannotation - The annotationmember - The memberOptionalDouble valuepublic boolean isTrue(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadataisTrue in interface AnnotationMetadataannotation - The annotation classmember - The annotation memberpublic boolean isFalse(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotation, @NonNull java.lang.String member)
AnnotationMetadataisFalse in interface AnnotationMetadataannotation - 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)
AnnotationMetadatagetAnnotationType in interface AnnotationMetadataname - The type name@NonNull public java.util.Optional<java.lang.Class<? extends java.lang.annotation.Annotation>> getAnnotationType(@NonNull java.lang.String name, @NonNull java.lang.ClassLoader classLoader)
AnnotationMetadatagetAnnotationType in interface AnnotationMetadataname - The type nameclassLoader - The ClassLoader to load the type@NonNull public <T extends java.lang.annotation.Annotation> java.util.List<AnnotationValue<T>> getAnnotationValuesByType(@NonNull java.lang.Class<T> annotationType)
AnnotationMetadatagetAnnotationValuesByType in interface AnnotationMetadataT - 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)
AnnotationMetadatagetDeclaredAnnotationValuesByType in interface AnnotationMetadataT - The annotation typeannotationType - The annotation type@NonNull public <T extends java.lang.annotation.Annotation> T[] synthesizeAnnotationsByType(@NonNull java.lang.Class<T> annotationClass)
AnnotationSourcesynthesizeAnnotationsByType in interface AnnotationSourceT - The annotation generic typeannotationClass - The annotation type@NonNull public <T extends java.lang.annotation.Annotation> T[] synthesizeDeclaredAnnotationsByType(@NonNull java.lang.Class<T> annotationClass)
AnnotationSourcesynthesizeDeclaredAnnotationsByType in interface AnnotationSourceT - The annotation generic typeannotationClass - The annotation typepublic boolean hasDeclaredAnnotation(@Nullable java.lang.String annotation)
AnnotationMetadatahasDeclaredAnnotation in interface AnnotationMetadataannotation - The annotationpublic boolean hasAnnotation(@Nullable java.lang.String annotation)
AnnotationMetadatahasAnnotation in interface AnnotationMetadataannotation - The annotationpublic boolean hasStereotype(@Nullable java.lang.String annotation)
AnnotationMetadataChecks 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 AnnotationMetadataannotation - The annotationpublic boolean hasDeclaredStereotype(@Nullable java.lang.String annotation)
AnnotationMetadataChecks 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 AnnotationMetadataannotation - The annotation@NonNull public java.util.List<java.lang.String> getAnnotationNamesByStereotype(java.lang.String stereotype)
AnnotationMetadatagetAnnotationNamesByStereotype in interface AnnotationMetadatastereotype - The annotation names@NonNull public java.util.Set<java.lang.String> getAnnotationNames()
AnnotationMetadatagetAnnotationNames in interface AnnotationMetadata@NonNull public java.util.Set<java.lang.String> getDeclaredAnnotationNames()
AnnotationMetadatagetDeclaredAnnotationNames in interface AnnotationMetadata@NonNull public java.util.List<java.lang.String> getDeclaredAnnotationNamesByStereotype(java.lang.String stereotype)
AnnotationMetadatagetDeclaredAnnotationNamesByStereotype in interface AnnotationMetadatastereotype - The stereotype@NonNull public <T extends java.lang.annotation.Annotation> java.util.Optional<AnnotationValue<T>> findAnnotation(@NonNull java.lang.String annotation)
AnnotationSourceAnnotationValue for the given annotation name.findAnnotation in interface AnnotationSourceT - 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)
AnnotationSourcefindDeclaredAnnotation in interface AnnotationSourceT - The annotation typeannotation - The annotation nameAnnotationValue instance@NonNull public <T> OptionalValues<T> getValues(@NonNull java.lang.String annotation, @NonNull java.lang.Class<T> valueType)
AnnotationMetadatagetValues in interface AnnotationMetadataT - 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)
AnnotationMetadatagetDefaultValue in interface AnnotationMetadataT - 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)
AnnotationMetadatagetDefaultValue in interface AnnotationMetadataT - The required generic typeannotation - The annotationmember - The memberrequiredType - The required type@Nullable protected abstract Environment getEnvironment()
Environment for this metadata.