public final class AnnotationInstanceBuilder extends Object
AnnotationInstance. Instances of the builder are not reusable.
Expected usage is: call add() as many times as required to add annotation members,
and then call build() to create an AnnotationInstance without target, or
buildWithTarget() to create an AnnotationInstance with target.
Attempt to add() a member with the same name multiple times leads to an exception.
This builder does not check whether the annotation type declares a member with given name or whether that member declares a default value.
| Modifier and Type | Method and Description |
|---|---|
AnnotationInstanceBuilder |
add(AnnotationValue value)
Adds a pre-defined annotation member whose name and value are defined by given
value. |
AnnotationInstanceBuilder |
add(String name,
AnnotationInstance value)
Adds an annotation-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
AnnotationInstance[] values)
Adds an annotation array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
boolean value)
Adds a boolean-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
boolean[] values)
Adds a boolean array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
byte value)
Adds a byte-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
byte[] values)
Adds a byte array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
char value)
Adds a char-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
char[] values)
Adds a char array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Class<?> value)
Adds a class-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Class<?>[] values)
Adds a class array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Class<? extends Enum<?>> enumType,
String enumValue)
Adds an enum-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Class<? extends Enum<?>> enumType,
String[] enumValues)
Adds an enum array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
ClassInfo value)
Adds a class-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
ClassInfo[] values)
Adds a class array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
ClassInfo enumType,
String enumValue)
Adds an enum-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
ClassInfo enumType,
String[] enumValues)
Adds an enum array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
double value)
Adds a double-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
double[] values)
Adds a double array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Enum<?> value)
Adds an enum-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Enum<?>[] values)
Adds an enum array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
float value)
Adds a float-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
float[] values)
Adds a float array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
int value)
Adds an int-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
int[] values)
Adds an int array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
long value)
Adds a long-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
long[] values)
Adds a long array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
short value)
Adds a short-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
short[] values)
Adds a short array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
String value)
Adds a String-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
String[] values)
Adds a String array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Type value)
Adds a class-valued annotation member with given
name. |
AnnotationInstanceBuilder |
add(String name,
Type[] values)
Adds a class array-valued annotation member with given
name. |
AnnotationInstanceBuilder |
addAll(List<AnnotationValue> values)
Adds all pre-defined annotation members whose names and values are defined by given
values. |
AnnotationInstance |
build()
Returns an
AnnotationInstance that includes all annotation members defined by
previous method calls on this builder. |
AnnotationInstance |
buildWithTarget(AnnotationTarget target)
Returns an
AnnotationInstance that includes all annotation members defined by
previous method calls on this builder. |
AnnotationInstanceBuilder |
value(AnnotationInstance value)
Adds an annotation-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(AnnotationInstance[] values)
Adds an annotation array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(boolean value)
Adds a boolean-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(boolean[] values)
Adds a boolean array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(byte value)
Adds a byte-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(byte[] values)
Adds a byte array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(char value)
Adds a char-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(char[] values)
Adds a char array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Class<?> value)
Adds a class-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Class<?>[] values)
Adds a class array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Class<? extends Enum<?>> enumType,
String enumValue)
Adds an enum-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Class<? extends Enum<?>> enumType,
String[] enumValues)
Adds an enum array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(ClassInfo value)
Adds a class-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(ClassInfo[] values)
Adds a class array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(ClassInfo enumType,
String enumValue)
Adds an enum-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(ClassInfo enumType,
String[] enumValues)
Adds an enum array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(double value)
Adds a double-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(double[] values)
Adds a double array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Enum<?> value)
Adds an enum-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Enum<?>[] values)
Adds an enum array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(float value)
Adds a float-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(float[] values)
Adds a float array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(int value)
Adds an int-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(int[] values)
Adds an int array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(long value)
Adds a long-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(long[] values)
Adds a long array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(short value)
Adds a short-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(short[] values)
Adds a short array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(String value)
Adds a String-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(String[] values)
Adds a String array-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Type value)
Adds a class-valued annotation member called
value. |
AnnotationInstanceBuilder |
value(Type[] values)
Adds a class array-valued annotation member called
value. |
AnnotationInstanceBuilder |
with(Consumer<AnnotationInstanceBuilder> action)
Calls given
action with this builder as an argument, and returns this builder
after the action finishes. |
public AnnotationInstanceBuilder add(AnnotationValue value)
value.value - the pre-defined annotation member, must not be nullpublic AnnotationInstanceBuilder addAll(List<AnnotationValue> values)
values.values - the pre-defined annotation members, must not be null or contain nullpublic AnnotationInstanceBuilder add(String name, boolean value)
name.name - the member name, must not be nullvalue - the boolean valuepublic AnnotationInstanceBuilder add(String name, boolean[] values)
name.name - the member name, must not be nullvalues - the boolean array, must not be nullpublic AnnotationInstanceBuilder add(String name, byte value)
name.name - the member name, must not be nullvalue - the byte valuepublic AnnotationInstanceBuilder add(String name, byte[] values)
name.name - the member name, must not be nullvalues - the byte array, must not be nullpublic AnnotationInstanceBuilder add(String name, short value)
name.name - the member name, must not be nullvalue - the short valuepublic AnnotationInstanceBuilder add(String name, short[] values)
name.name - the member name, must not be nullvalues - the short array, must not be nullpublic AnnotationInstanceBuilder add(String name, int value)
name.name - the member name, must not be nullvalue - the int valuepublic AnnotationInstanceBuilder add(String name, int[] values)
name.name - the member name, must not be nullvalues - the int array, must not be nullpublic AnnotationInstanceBuilder add(String name, long value)
name.name - the member name, must not be nullvalue - the long valuepublic AnnotationInstanceBuilder add(String name, long[] values)
name.name - the member name, must not be nullvalues - the long array, must not be nullpublic AnnotationInstanceBuilder add(String name, float value)
name.name - the member name, must not be nullvalue - the float valuepublic AnnotationInstanceBuilder add(String name, float[] values)
name.name - the member name, must not be nullvalues - the float array, must not be nullpublic AnnotationInstanceBuilder add(String name, double value)
name.name - the member name, must not be nullvalue - the double valuepublic AnnotationInstanceBuilder add(String name, double[] values)
name.name - the member name, must not be nullvalues - the double array, must not be nullpublic AnnotationInstanceBuilder add(String name, char value)
name.name - the member name, must not be nullvalue - the char valuepublic AnnotationInstanceBuilder add(String name, char[] values)
name.name - the member name, must not be nullvalues - the char array, must not be nullpublic AnnotationInstanceBuilder add(String name, String value)
name.name - the member name, must not be nullvalue - the String value, must not be nullpublic AnnotationInstanceBuilder add(String name, String[] values)
name.name - the member name, must not be nullvalues - the String array, must not be null or contain nullpublic AnnotationInstanceBuilder add(String name, Enum<?> value)
name.name - the member name, must not be nullvalue - the enum value, must not be nullpublic AnnotationInstanceBuilder add(String name, Enum<?>[] values)
name.name - the member name, must not be nullvalues - the enum array, must not be null or contain nullpublic AnnotationInstanceBuilder add(String name, Class<? extends Enum<?>> enumType, String enumValue)
name.name - the member name, must not be nullenumType - the enum type, must not be nullenumValue - name of the enum constant, must not be nullpublic AnnotationInstanceBuilder add(String name, Class<? extends Enum<?>> enumType, String[] enumValues)
name.name - the member name, must not be nullenumType - the enum type, must not be nullenumValues - names of the enum constants, must not be null or contain nullpublic AnnotationInstanceBuilder add(String name, ClassInfo enumType, String enumValue)
name.name - the member name, must not be nullenumType - the enum type, must not be nullenumValue - name of the enum constant, must not be nullpublic AnnotationInstanceBuilder add(String name, ClassInfo enumType, String[] enumValues)
name.name - the member name, must not be nullenumType - the enum type, must not be nullenumValues - names of the enum constants, must not be null or contain nullpublic AnnotationInstanceBuilder add(String name, Class<?> value)
name.name - the member name, must not be nullvalue - the class value, must not be nullpublic AnnotationInstanceBuilder add(String name, Class<?>[] values)
name.name - the member name, must not be nullvalues - the class array, must not be null or contain nullpublic AnnotationInstanceBuilder add(String name, ClassInfo value)
name.name - the member name, must not be nullvalue - the class value, must not be nullpublic AnnotationInstanceBuilder add(String name, ClassInfo[] values)
name.name - the member name, must not be nullvalues - the class array, must not be null or contain nullpublic AnnotationInstanceBuilder add(String name, Type value)
name.
The value parameter may only be:
VoidType;PrimitiveType;ClassType;ArrayType whose element type is either PrimitiveType or ClassType.name - the member name, must not be nullvalue - the class value, must not be nullIllegalArgumentException - if given type is invalid, as described abovepublic AnnotationInstanceBuilder add(String name, Type[] values)
name.
The values parameter may only include:
VoidType;PrimitiveType;ClassType;ArrayType whose element type is either PrimitiveType or ClassType.name - the member name, must not be nullvalues - the class array, must not be null or contain nullIllegalArgumentException - if any given type is invalid, as described abovepublic AnnotationInstanceBuilder add(String name, AnnotationInstance value)
name.name - the member name, must not be nullvalue - the annotation value, must not be nullpublic AnnotationInstanceBuilder add(String name, AnnotationInstance[] values)
name.name - the member name, must not be nullvalues - the annotation array, must not be null or contain nullpublic AnnotationInstanceBuilder value(boolean value)
value.value - the boolean valuepublic AnnotationInstanceBuilder value(boolean[] values)
value.values - the boolean array, must not be nullpublic AnnotationInstanceBuilder value(byte value)
value.value - the byte valuepublic AnnotationInstanceBuilder value(byte[] values)
value.values - the byte array, must not be nullpublic AnnotationInstanceBuilder value(short value)
value.value - the short valuepublic AnnotationInstanceBuilder value(short[] values)
value.values - the short array, must not be nullpublic AnnotationInstanceBuilder value(int value)
value.value - the int valuepublic AnnotationInstanceBuilder value(int[] values)
value.values - the int array, must not be nullpublic AnnotationInstanceBuilder value(long value)
value.value - the long valuepublic AnnotationInstanceBuilder value(long[] values)
value.values - the long array, must not be nullpublic AnnotationInstanceBuilder value(float value)
value.value - the float valuepublic AnnotationInstanceBuilder value(float[] values)
value.values - the float array, must not be nullpublic AnnotationInstanceBuilder value(double value)
value.value - the double valuepublic AnnotationInstanceBuilder value(double[] values)
value.values - the double array, must not be nullpublic AnnotationInstanceBuilder value(char value)
value.value - the char valuepublic AnnotationInstanceBuilder value(char[] values)
value.values - the char array, must not be nullpublic AnnotationInstanceBuilder value(String value)
value.value - the String value, must not be nullpublic AnnotationInstanceBuilder value(String[] values)
value.values - the String array, must not be null or contain nullpublic AnnotationInstanceBuilder value(Enum<?> value)
value.value - the enum value, must not be nullpublic AnnotationInstanceBuilder value(Enum<?>[] values)
value.values - the enum array, must not be null or contain nullpublic AnnotationInstanceBuilder value(Class<? extends Enum<?>> enumType, String enumValue)
value.enumType - the enum type, must not be nullenumValue - name of the enum constant, must not be nullpublic AnnotationInstanceBuilder value(Class<? extends Enum<?>> enumType, String[] enumValues)
value.enumType - the enum type, must not be nullenumValues - names of the enum constants, must not be null or contain nullpublic AnnotationInstanceBuilder value(ClassInfo enumType, String enumValue)
value.enumType - the enum type, must not be nullenumValue - name of the enum constant, must not be nullpublic AnnotationInstanceBuilder value(ClassInfo enumType, String[] enumValues)
value.enumType - the enum type, must not be nullenumValues - names of the enum constants, must not be null or contain nullpublic AnnotationInstanceBuilder value(Class<?> value)
value.value - the class value, must not be nullpublic AnnotationInstanceBuilder value(Class<?>[] values)
value.values - the class array, must not be null or contain nullpublic AnnotationInstanceBuilder value(ClassInfo value)
value.value - the class value, must not be nullpublic AnnotationInstanceBuilder value(ClassInfo[] values)
value.values - the class array, must not be null or contain nullpublic AnnotationInstanceBuilder value(Type value)
value.
The value parameter may only be:
VoidType;PrimitiveType;ClassType;ArrayType whose element type is either PrimitiveType or ClassType.value - the class value, must not be nullIllegalArgumentException - if given type is invalid, as described abovepublic AnnotationInstanceBuilder value(Type[] values)
value.
The values parameter may only contain:
VoidType;PrimitiveType;ClassType;ArrayType whose element type is either PrimitiveType or ClassType.values - the class array, must not be null or contain nullIllegalArgumentException - if any given type is invalid, as described abovepublic AnnotationInstanceBuilder value(AnnotationInstance value)
value.value - the annotation value, must not be nullpublic AnnotationInstanceBuilder value(AnnotationInstance[] values)
value.values - the annotation array, must not be null or contain nullpublic AnnotationInstanceBuilder with(Consumer<AnnotationInstanceBuilder> action)
action with this builder as an argument, and returns this builder
after the action finishes. This is useful to express a non-trivial control flow
without breaking fluent usage.action - an action to be performed on this builder, must not be nullpublic AnnotationInstance build()
AnnotationInstance that includes all annotation members defined by
previous method calls on this builder. The returned AnnotationInstance has no target.
After build() is called, this builder instance should be discarded.AnnotationInstance, never nullpublic AnnotationInstance buildWithTarget(AnnotationTarget target)
AnnotationInstance that includes all annotation members defined by
previous method calls on this builder. The returned AnnotationInstance has given
target. After buildWithTarget() is called, this builder instance should be discarded.target - the target of the built annotation instance; if null, the built annotation instance has no targetAnnotationInstance, never nullCopyright © 2018–2022. All rights reserved.