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 classRepresents a loaded complex array.Nested classes/interfaces inherited from interface AnnotationValue
AnnotationValue.AbstractBase<U,V>, AnnotationValue.ForAnnotationDescription<U>, AnnotationValue.ForConstant<U>, AnnotationValue.ForDescriptionArray<U, V>, AnnotationValue.ForEnumerationDescription<U>, AnnotationValue.ForIncompatibleType<U, V>, AnnotationValue.ForMismatchedType<U, V>, AnnotationValue.ForMissingType<U, V>, AnnotationValue.ForMissingValue<U, V>, AnnotationValue.ForTypeDescription<U>, AnnotationValue.RenderingDispatcher, AnnotationValue.Sort, AnnotationValue.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final TypeDescriptionA 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 AnnotationValue
UNDEFINED -
Constructor Summary
ConstructorsConstructorDescriptionForDescriptionArray(Class<?> unloadedComponentType, TypeDescription componentType, List<? extends AnnotationValue<?, ?>> values) Creates a new complex array. -
Method Summary
Modifier and TypeMethodDescriptionbooleanfilter(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.inthashCode()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 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 ornullfor using the boot loader.- Returns:
- The loaded value of this annotation.
-
hashCode
-
equals
-
toString
-