Class AnnotationValue.ForDescriptionArray<U,V>
java.lang.Object
net.bytebuddy.description.annotation.AnnotationValue.AbstractBase<U,V>
net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray<U,V>
- Type Parameters:
U
- The array type of the annotation's value when it is not loaded.V
- The array type of the annotation's value when it is loaded.
- All Implemented Interfaces:
AnnotationValue<U,
V>
- Enclosing interface:
- AnnotationValue<T,
S>
public static class AnnotationValue.ForDescriptionArray<U,V>
extends AnnotationValue.AbstractBase<U,V>
Describes a complex array that is the value of an annotation. Complex arrays are arrays that might trigger the loading
of user-defined types, i.e.
Class
, Annotation
and Enum
instances.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
Represents a loaded complex array.Nested classes/interfaces inherited from interface net.bytebuddy.description.annotation.AnnotationValue
AnnotationValue.AbstractBase<U,
V>, AnnotationValue.ForAnnotationDescription<U extends Annotation>, AnnotationValue.ForConstant<U>, AnnotationValue.ForDescriptionArray<U, V>, AnnotationValue.ForEnumerationDescription<U extends Enum<U>>, AnnotationValue.ForIncompatibleType<U, V>, AnnotationValue.ForMismatchedType<U, V>, AnnotationValue.ForMissingType<U, V>, AnnotationValue.ForMissingValue<U, V>, AnnotationValue.ForTypeDescription<U extends Class<U>>, AnnotationValue.RenderingDispatcher, AnnotationValue.Sort, AnnotationValue.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final TypeDescription
A description of the component type when it is loaded.private final Class<?>
The component type for arrays containing unloaded versions of the annotation array's values.private final List<? extends AnnotationValue<?,
?>> A list of values of the array elements.Fields inherited from interface net.bytebuddy.description.annotation.AnnotationValue
UNDEFINED
-
Constructor Summary
ConstructorsConstructorDescriptionForDescriptionArray
(Class<?> unloadedComponentType, TypeDescription componentType, List<? extends AnnotationValue<?, ?>> values) Creates a new complex array. -
Method Summary
Modifier and TypeMethodDescriptionboolean
filter
(MethodDescription.InDefinedShape property, TypeDefinition typeDefinition) Filters this annotation value as a valid value of the provided property.getSort()
Returns the property type of the annotation value.getState()
Returns the state of the represented annotation value.int
hashCode()
load
(ClassLoader classLoader) Returns the loaded value of this annotation.static AnnotationValue<TypeDescription[],
Class<?>[]> of
(TypeDescription[] typeDescription) Creates a new complex array of annotation descriptions.static <W extends Annotation>
AnnotationValue<AnnotationDescription[],W[]> of
(TypeDescription annotationType, AnnotationDescription[] annotationDescription) Creates a new complex array of annotation descriptions.static <W extends Enum<W>>
AnnotationValue<EnumerationDescription[],W[]> of
(TypeDescription enumerationType, EnumerationDescription[] enumerationDescription) Creates a new complex array of enumeration descriptions.resolve()
Resolves the unloaded value of this annotation.toString()
Methods inherited from class net.bytebuddy.description.annotation.AnnotationValue.AbstractBase
filter, resolve
-
Field Details
-
unloadedComponentType
The component type for arrays containing unloaded versions of the annotation array's values. -
componentType
A description of the component type when it is loaded. -
values
A list of values of the array elements.
-
-
Constructor Details
-
ForDescriptionArray
public ForDescriptionArray(Class<?> unloadedComponentType, TypeDescription componentType, List<? extends AnnotationValue<?, ?>> values) Creates a new complex array.- Parameters:
unloadedComponentType
- The component type for arrays containing unloaded versions of the annotation array's values.componentType
- A description of the component type when it is loaded.values
- A list of values of the array elements.
-
-
Method Details
-
of
public static <W extends Enum<W>> AnnotationValue<EnumerationDescription[],W[]> of(TypeDescription enumerationType, EnumerationDescription[] enumerationDescription) Creates a new complex array of enumeration descriptions.- Type Parameters:
W
- The type of the enumeration.- Parameters:
enumerationType
- A description of the type of the enumeration.enumerationDescription
- An array of enumeration descriptions.- Returns:
- A description of the array of enumeration values.
-
of
public static <W extends Annotation> AnnotationValue<AnnotationDescription[],W[]> of(TypeDescription annotationType, AnnotationDescription[] annotationDescription) Creates a new complex array of annotation descriptions.- Type Parameters:
W
- The type of the annotation.- Parameters:
annotationType
- A description of the type of the annotation.annotationDescription
- An array of annotation descriptions.- Returns:
- A description of the array of enumeration values.
-
of
Creates a new complex array of annotation descriptions.- Parameters:
typeDescription
- A description of the types contained in the array.- Returns:
- A description of the array of enumeration values.
-
getState
Returns the state of the represented annotation value.- Returns:
- The state represented by this instance.
-
getSort
Returns the property type of the annotation value.- Returns:
- The property type of the annotation value.
-
filter
public AnnotationValue<U,V> filter(MethodDescription.InDefinedShape property, TypeDefinition typeDefinition) Filters this annotation value as a valid value of the provided property.- Parameters:
property
- The property to filter against.typeDefinition
- The expected type.- Returns:
- This annotation value or a new annotation value that describes why this value is not a valid value for the supplied property.
-
resolve
Resolves the unloaded value of this annotation. The return value of this method is not defined if this annotation value is invalid.- Returns:
- The unloaded value of this annotation.
-
load
Returns the loaded value of this annotation.- Parameters:
classLoader
- The class loader for loading this value ornull
for using the boot loader.- Returns:
- The loaded value of this annotation.
-
hashCode
-
equals
-
toString
-