A - The annotation typepublic class AnnotationValue<A extends java.lang.annotation.Annotation> extends java.lang.Object implements AnnotationValueResolver
This class implements the AnnotationValueResolver interface and methods such as ValueResolver.get(CharSequence, Class) can be used to retrieve the values of annotation members.
If a member is not present then the methods of the class will attempt to resolve the default value for a given annotation member. In this sense the behaviour of this class is similar to how
 a implementation of Annotation behaves.
| Modifier | Constructor and Description | 
|---|---|
| protected  | AnnotationValue(AnnotationValue<A> target,
               java.util.Map<java.lang.String,java.lang.Object> defaultValues,
               ConvertibleValues<java.lang.Object> convertibleValues,
               java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)Internal copy constructor. | 
|   | AnnotationValue(java.lang.String annotationName) | 
|   | AnnotationValue(java.lang.String annotationName,
               ConvertibleValues<java.lang.Object> convertibleValues) | 
|   | AnnotationValue(java.lang.String annotationName,
               java.util.Map<java.lang.CharSequence,java.lang.Object> values) | 
|   | AnnotationValue(java.lang.String annotationName,
               java.util.Map<java.lang.CharSequence,java.lang.Object> values,
               java.util.Map<java.lang.String,java.lang.Object> defaultValues) | 
|   | AnnotationValue(java.lang.String annotationName,
               java.util.Map<java.lang.CharSequence,java.lang.Object> values,
               java.util.Map<java.lang.String,java.lang.Object> defaultValues,
               java.lang.annotation.RetentionPolicy retentionPolicy) | 
|   | AnnotationValue(java.lang.String annotationName,
               java.util.Map<java.lang.CharSequence,java.lang.Object> values,
               java.lang.annotation.RetentionPolicy retentionPolicy) | 
| Modifier and Type | Method and Description | 
|---|---|
| java.util.Optional<AnnotationClassValue<?>> | annotationClassValue(java.lang.String member)The  AnnotationClassValueinstance for the given member. | 
| AnnotationClassValue<?>[] | annotationClassValues(java.lang.String member)The  AnnotationClassValueinstances for the given member. | 
| java.util.Optional<java.lang.Boolean> | booleanValue(java.lang.String member)The boolean value of the given member. | 
| java.util.Optional<java.lang.Boolean> | booleanValue(java.lang.String member,
            java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The boolean value of the given member. | 
| static <T extends java.lang.annotation.Annotation> | builder(AnnotationValue<T> annotation,
       java.lang.annotation.RetentionPolicy retentionPolicy)Start building a new annotation existing value and retention policy. | 
| static <T extends java.lang.annotation.Annotation> | builder(java.lang.Class<T> annotation)Start building a new annotation for the given name. | 
| static <T extends java.lang.annotation.Annotation> | builder(java.lang.String annotationName)Start building a new annotation for the given name. | 
| java.util.Optional<java.lang.Class<?>> | classValue()The value of the annotation as a Class. | 
| java.util.Optional<java.lang.Class<?>> | classValue(java.lang.String member)The value of the given annotation member as a Class. | 
| <T> java.util.Optional<java.lang.Class<? extends T>> | classValue(java.lang.String member,
          java.lang.Class<T> requiredType)The value of the given annotation member as a Class. | 
| java.util.Optional<java.lang.Class<?>> | classValue(java.lang.String member,
          java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The value of the given annotation member as a Class. | 
| java.lang.Class<?>[] | classValues(java.lang.String member)The value of the given annotation member as a Class. | 
| boolean | contains(java.lang.String member)Whether a particular member is present. | 
| java.util.OptionalDouble | doubleValue()The double value of the given member. | 
| java.util.OptionalDouble | doubleValue(java.lang.String member)The double value of the given member. | 
| java.util.OptionalDouble | doubleValue(java.lang.String member,
           java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The double value of the given member. | 
| <E extends java.lang.Enum> | enumValue(java.lang.String member,
         java.lang.Class<E> enumType)Return the enum value of the given member of the given enum type. | 
| <E extends java.lang.Enum> | enumValue(java.lang.String member,
         java.lang.Class<E> enumType,
         java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)Return the enum value of the given member of the given enum type. | 
| <E extends java.lang.Enum> | enumValues(java.lang.String member,
          java.lang.Class<E> enumType)Return the enum values of the given member of the given enum type. | 
| boolean | equals(java.lang.Object obj) | 
| <T> java.util.Optional<T> | get(java.lang.CharSequence member,
   ArgumentConversionContext<T> conversionContext)Resolve the given property for the given name. | 
| <T extends java.lang.annotation.Annotation> | getAnnotation(java.lang.String member,
             java.lang.Class<T> type)Gets a list of  AnnotationValuefor the given member. | 
| java.lang.String | getAnnotationName()The annotation name. | 
| <T extends java.lang.annotation.Annotation> | getAnnotations(java.lang.String member)Gets a list of  AnnotationValuefor the given member. | 
| <T extends java.lang.annotation.Annotation> | getAnnotations(java.lang.String member,
              java.lang.Class<T> type)Gets a list of  AnnotationValuefor the given member. | 
| ConvertibleValues<java.lang.Object> | getConvertibleValues() | 
| java.util.Set<java.lang.CharSequence> | getMemberNames()Resolves the names of all the present annotation members. | 
| java.util.Map<java.lang.String,java.lang.String> | getProperties(java.lang.String member)Resolves a map of properties for a member that is an array of annotations that have members called "name" or "key" to represent the key and "value" to represent the value. | 
| java.util.Map<java.lang.String,java.lang.String> | getProperties(java.lang.String member,
             java.lang.String keyMember)Resolve properties with a custom key member. | 
| <T> T | getRequiredValue(java.lang.Class<T> type)Get the value of the  valuemember of the annotation. | 
| <T> T | getRequiredValue(java.lang.String member,
                java.lang.Class<T> type)Get the value of the  valuemember of the annotation. | 
| java.lang.annotation.RetentionPolicy | getRetentionPolicy() | 
| <T> java.util.Optional<T> | getValue(Argument<T> argument)Get the value of the  valuemember of the annotation. | 
| <T> java.util.Optional<T> | getValue(ArgumentConversionContext<T> conversionContext)Get the value of the  valuemember of the annotation. | 
| <T> java.util.Optional<T> | getValue(java.lang.Class<T> type)Get the value of the  valuemember of the annotation. | 
| java.util.Map<java.lang.CharSequence,java.lang.Object> | getValues() | 
| int | hashCode() | 
| java.util.OptionalInt | intValue()The integer value of the given member. | 
| java.util.OptionalInt | intValue(java.lang.String member)The integer value of the given member. | 
| java.util.OptionalInt | intValue(java.lang.String member,
        java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The integer value of the given member. | 
| boolean | isFalse() | 
| boolean | isFalse(java.lang.String member) | 
| boolean | isPresent(java.lang.CharSequence member)Is the given member present. | 
| boolean | isTrue() | 
| boolean | isTrue(java.lang.String member) | 
| boolean | isTrue(java.lang.String member,
      java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper) | 
| java.util.OptionalLong | longValue(java.lang.String member)The long value of the given member. | 
| java.util.OptionalLong | longValue(java.lang.String member,
         java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The integer value of the given member. | 
| static java.lang.Class<?>[] | resolveClassValues(java.lang.Object value)The classes class values for the given value. | 
| static <E extends java.lang.Enum> | resolveEnumValues(java.lang.Class<E> enumType,
                 java.lang.Object rawValue)The enum values for the given enum type and raw value. | 
| static java.lang.String[] | resolveStringArray(java.lang.String[] strs,
                  java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The string[] values for the given value. | 
| static java.lang.String[] | resolveStringValues(java.lang.Object value,
                   java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The string values for the given value. | 
| java.util.Optional<java.lang.String> | stringValue()The double value of the given member. | 
| java.util.Optional<java.lang.String> | stringValue(java.lang.String member)The string value of the given member. | 
| java.util.Optional<java.lang.String> | stringValue(java.lang.String member,
           java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The string value of the given member. | 
| java.lang.String[] | stringValues(java.lang.String member)The string value of the given member. | 
| java.lang.String[] | stringValues(java.lang.String member,
            java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)The string values for the given member and mapper. | 
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitbooleanValue, classValues, enumValue, enumValues, longValue, stringValuesget, get, getpublic AnnotationValue(java.lang.String annotationName,
                       java.util.Map<java.lang.CharSequence,java.lang.Object> values)
annotationName - The annotation namevalues - The valuespublic AnnotationValue(java.lang.String annotationName,
                       java.util.Map<java.lang.CharSequence,java.lang.Object> values,
                       java.lang.annotation.RetentionPolicy retentionPolicy)
annotationName - The annotation namevalues - The valuesretentionPolicy - The retention policypublic AnnotationValue(java.lang.String annotationName,
                       java.util.Map<java.lang.CharSequence,java.lang.Object> values,
                       java.util.Map<java.lang.String,java.lang.Object> defaultValues)
annotationName - The annotation namevalues - The valuesdefaultValues - The default valuespublic AnnotationValue(java.lang.String annotationName,
                       java.util.Map<java.lang.CharSequence,java.lang.Object> values,
                       java.util.Map<java.lang.String,java.lang.Object> defaultValues,
                       java.lang.annotation.RetentionPolicy retentionPolicy)
annotationName - The annotation namevalues - The valuesdefaultValues - The default valuesretentionPolicy - The retention policypublic AnnotationValue(java.lang.String annotationName)
annotationName - The annotation namepublic AnnotationValue(java.lang.String annotationName,
                       ConvertibleValues<java.lang.Object> convertibleValues)
annotationName - The annotation nameconvertibleValues - The convertible values@Internal protected AnnotationValue(AnnotationValue<A> target, java.util.Map<java.lang.String,java.lang.Object> defaultValues, ConvertibleValues<java.lang.Object> convertibleValues, java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
target - The targetdefaultValues - The default valuesconvertibleValues - The convertible valuesvalueMapper - The value mapper@NonNull public final java.lang.annotation.RetentionPolicy getRetentionPolicy()
@NonNull
public java.util.Map<java.lang.String,java.lang.String> getProperties(@NonNull
                                                                               java.lang.String member)
For example consider the following annotation definition:
 @PropertySource({ @Property(name="one",value="1"), @Property(name="two", value="2")})
 public class MyBean {
        ...
 }
 You can use this method to resolve the values of the PropertySource annotation such that the following assertion is true:
 annotationValue.getProperties("value") == [one:1, two:2]
 member - The memberpublic java.util.Map<java.lang.String,java.lang.String> getProperties(@NonNull
                                                                      java.lang.String member,
                                                                      java.lang.String keyMember)
member - The member to resolve the properties fromkeyMember - The member of the sub annotation that represents the key.getProperties(String)public <E extends java.lang.Enum> java.util.Optional<E> enumValue(@NonNull
                                                                  java.lang.String member,
                                                                  @NonNull
                                                                  java.lang.Class<E> enumType)
enumValue in interface AnnotationValueResolverE - The enum typemember - The annotation memberenumType - The required typeOptional of the enum valuepublic <E extends java.lang.Enum> java.util.Optional<E> enumValue(@NonNull
                                                                  java.lang.String member,
                                                                  @NonNull
                                                                  java.lang.Class<E> enumType,
                                                                  java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
E - The enum typemember - The annotation memberenumType - The required typevalueMapper - The value mapperOptional of the enum valuepublic <E extends java.lang.Enum> E[] enumValues(@NonNull
                                                 java.lang.String member,
                                                 @NonNull
                                                 java.lang.Class<E> enumType)
enumValues in interface AnnotationValueResolverE - The enum typemember - The annotation memberenumType - The required type@NonNull public java.util.Optional<java.lang.Class<?>> classValue()
classValue in interface AnnotationValueResolverOptional classpublic java.util.Optional<java.lang.Class<?>> classValue(@NonNull
                                                         java.lang.String member)
classValue in interface AnnotationValueResolvermember - The annotation memberOptional classpublic <T> java.util.Optional<java.lang.Class<? extends T>> classValue(@NonNull
                                                                       java.lang.String member,
                                                                       @NonNull
                                                                       java.lang.Class<T> requiredType)
classValue in interface AnnotationValueResolverT - The required typemember - The annotation memberrequiredType - The required typeOptional classpublic java.util.Optional<java.lang.Class<?>> classValue(@NonNull
                                                         java.lang.String member,
                                                         @Nullable
                                                         java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The annotation membervalueMapper - The raw value mapperOptional class@NonNull
public java.lang.String[] stringValues(@NonNull
                                                java.lang.String member)
AnnotationValueResolverstringValues in interface AnnotationValueResolvermember - The annotation memberOptionalIntpublic java.lang.String[] stringValues(@NonNull
                                       java.lang.String member,
                                       java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The membervalueMapper - The mapperpublic java.lang.Class<?>[] classValues(@NonNull
                                        java.lang.String member)
AnnotationValueResolverclassValues in interface AnnotationValueResolvermember - The annotation member@NonNull public AnnotationClassValue<?>[] annotationClassValues(@NonNull java.lang.String member)
AnnotationValueResolverAnnotationClassValue instances for the given member. Unlike AnnotationValueResolver.classValues(String) this may
 include classes that are no the classpath.annotationClassValues in interface AnnotationValueResolvermember - The annotation memberpublic java.util.Optional<AnnotationClassValue<?>> annotationClassValue(@NonNull java.lang.String member)
AnnotationValueResolverAnnotationClassValue instance for the given member.annotationClassValue in interface AnnotationValueResolvermember - The annotation memberpublic java.util.OptionalInt intValue(@NonNull
                                      java.lang.String member)
intValue in interface AnnotationValueResolvermember - The annotation memberOptionalIntpublic java.util.OptionalInt intValue(@NonNull
                                      java.lang.String member,
                                      @Nullable
                                      java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The annotation membervalueMapper - The value mapperOptionalIntpublic java.util.OptionalInt intValue()
intValue in interface AnnotationValueResolverOptionalIntpublic java.util.OptionalLong longValue(@NonNull
                                        java.lang.String member)
AnnotationValueResolverlongValue in interface AnnotationValueResolvermember - The annotation memberOptionalLongpublic java.util.OptionalLong longValue(@NonNull
                                        java.lang.String member,
                                        @Nullable
                                        java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The annotation membervalueMapper - The value mapperOptionalIntpublic java.util.Optional<java.lang.Boolean> booleanValue(@NonNull
                                                          java.lang.String member,
                                                          @Nullable
                                                          java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The annotation membervalueMapper - The value mapperOptional booleanpublic java.util.OptionalDouble doubleValue(@NonNull
                                            java.lang.String member)
doubleValue in interface AnnotationValueResolvermember - The annotation memberOptionalDoublepublic java.util.OptionalDouble doubleValue(@NonNull
                                            java.lang.String member,
                                            @Nullable
                                            java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The annotation membervalueMapper - The value mapperOptionalDoublepublic java.util.OptionalDouble doubleValue()
doubleValue in interface AnnotationValueResolverOptionalDoublepublic java.util.Optional<java.lang.String> stringValue(@NonNull
                                                        java.lang.String member)
stringValue in interface AnnotationValueResolvermember - The annotation memberOptionalIntpublic java.util.Optional<java.lang.String> stringValue(@NonNull
                                                        java.lang.String member,
                                                        @Nullable
                                                        java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The annotation membervalueMapper - An optional raw value mapperOptionalIntpublic java.util.Optional<java.lang.String> stringValue()
stringValue in interface AnnotationValueResolverOptionalIntpublic java.util.Optional<java.lang.Boolean> booleanValue(@NonNull
                                                          java.lang.String member)
AnnotationValueResolverbooleanValue in interface AnnotationValueResolvermember - The annotation memberOptional booleanpublic final boolean isPresent(java.lang.CharSequence member)
isPresent in interface AnnotationValueResolvermember - The memberpublic boolean isTrue()
isTrue in interface AnnotationValueResolverpublic boolean isTrue(java.lang.String member)
isTrue in interface AnnotationValueResolvermember - The memberpublic boolean isTrue(@NonNull
                      java.lang.String member,
                      @Nullable
                      java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
member - The membervalueMapper - The value mapperpublic boolean isFalse()
isFalse in interface AnnotationValueResolverpublic boolean isFalse(java.lang.String member)
isFalse in interface AnnotationValueResolvermember - The member@NonNull public final java.lang.String getAnnotationName()
public final boolean contains(java.lang.String member)
member - The member@NonNull public final java.util.Set<java.lang.CharSequence> getMemberNames()
@NonNull public java.util.Map<java.lang.CharSequence,java.lang.Object> getValues()
getValues in interface AnnotationValueResolver@NonNull public ConvertibleValues<java.lang.Object> getConvertibleValues()
public <T> java.util.Optional<T> get(java.lang.CharSequence member,
                                     ArgumentConversionContext<T> conversionContext)
ValueResolverget in interface ValueResolver<java.lang.CharSequence>T - The concrete typemember - The nameconversionContext - The conversion contextpublic <T> java.util.Optional<T> getValue(ArgumentConversionContext<T> conversionContext)
value member of the annotation.T - The typeconversionContext - The conversion contextpublic final <T> java.util.Optional<T> getValue(Argument<T> argument)
value member of the annotation.T - The typeargument - The argumentpublic final <T> java.util.Optional<T> getValue(java.lang.Class<T> type)
value member of the annotation.T - The typetype - The type@NonNull public final <T> T getRequiredValue(java.lang.Class<T> type)
value member of the annotation.T - The typetype - The typejava.lang.IllegalStateException - If no member is available that conforms to the given type@NonNull
public final <T> T getRequiredValue(java.lang.String member,
                                             java.lang.Class<T> type)
value member of the annotation.T - The typemember - The membertype - The typejava.lang.IllegalStateException - If no member is available that conforms to the given name and type@NonNull public final <T extends java.lang.annotation.Annotation> java.util.List<AnnotationValue<T>> getAnnotations(java.lang.String member, java.lang.Class<T> type)
AnnotationValue for the given member.T - The typemember - The membertype - The typejava.lang.IllegalStateException - If no member is available that conforms to the given name and type@NonNull public final <T extends java.lang.annotation.Annotation> java.util.List<AnnotationValue<T>> getAnnotations(java.lang.String member)
AnnotationValue for the given member.T - The typemember - The memberjava.lang.IllegalStateException - If no member is available that conforms to the given name and type@NonNull public final <T extends java.lang.annotation.Annotation> java.util.Optional<AnnotationValue<T>> getAnnotation(java.lang.String member, java.lang.Class<T> type)
AnnotationValue for the given member.T - The typemember - The membertype - The typejava.lang.IllegalStateException - If no member is available that conforms to the given name and typepublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic static <T extends java.lang.annotation.Annotation> AnnotationValueBuilder<T> builder(java.lang.String annotationName)
T - The annotation typeannotationName - The annotation namepublic static <T extends java.lang.annotation.Annotation> AnnotationValueBuilder<T> builder(java.lang.Class<T> annotation)
T - The annotation typeannotation - The annotation namepublic static <T extends java.lang.annotation.Annotation> AnnotationValueBuilder<T> builder(@NonNull AnnotationValue<T> annotation, @Nullable java.lang.annotation.RetentionPolicy retentionPolicy)
T - The annotation typeannotation - The annotation nameretentionPolicy - The retention policy. Defaults to runtime.@Internal @Nullable public static java.lang.String[] resolveStringValues(@Nullable java.lang.Object value, @Nullable java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
value - The valuevalueMapper - The value mapper@Internal @NonNull public static <E extends java.lang.Enum> E[] resolveEnumValues(@NonNull java.lang.Class<E> enumType, @Nullable java.lang.Object rawValue)
E - The enum generic typeenumType - The enum typerawValue - The raw value@Internal public static java.lang.String[] resolveStringArray(java.lang.String[] strs, @Nullable java.util.function.Function<java.lang.Object,java.lang.Object> valueMapper)
strs - The stringsvalueMapper - The value mapper@Internal @Nullable public static java.lang.Class<?>[] resolveClassValues(@Nullable java.lang.Object value)
value - The value