Package net.bytebuddy.pool
Class TypePool.Default.LazyTypeDescription.LazyAnnotationValue<U,V>
- java.lang.Object
-
- net.bytebuddy.description.annotation.AnnotationValue.AbstractBase<U,V>
-
- net.bytebuddy.pool.TypePool.Default.LazyTypeDescription.LazyAnnotationValue<U,V>
-
- Type Parameters:
U
- The represented unloaded type.V
- The represented loaded type.
- All Implemented Interfaces:
AnnotationValue<U,V>
- Direct Known Subclasses:
TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForAnnotationValue
,TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForArray
,TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForEnumerationValue
,TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForTypeValue
- Enclosing class:
- TypePool.Default.LazyTypeDescription
private abstract static class TypePool.Default.LazyTypeDescription.LazyAnnotationValue<U,V> extends AnnotationValue.AbstractBase<U,V>
A proxy for a lazy annotation value.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForAnnotationValue
A lazy annotation value description for an annotation value.private static class
TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForArray
A lazy projection of an annotation value that contains an array of values.private static class
TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForEnumerationValue
A lazy annotation value description for an enumeration value.private static class
TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForTypeValue
A lazy annotation value description for a type value.-
Nested classes/interfaces inherited from interface net.bytebuddy.description.annotation.AnnotationValue
AnnotationValue.AbstractBase<U,V>, AnnotationValue.ForAnnotationDescription<U extends java.lang.annotation.Annotation>, AnnotationValue.ForConstant<U>, AnnotationValue.ForDescriptionArray<U,V>, AnnotationValue.ForEnumerationDescription<U extends java.lang.Enum<U>>, AnnotationValue.ForIncompatibleType<U,V>, AnnotationValue.ForMismatchedType<U,V>, AnnotationValue.ForMissingType<U,V>, AnnotationValue.ForMissingValue<U,V>, AnnotationValue.ForTypeDescription<U extends java.lang.Class<U>>, AnnotationValue.Loaded<U>, AnnotationValue.RenderingDispatcher, AnnotationValue.State
-
-
Field Summary
-
Fields inherited from interface net.bytebuddy.description.annotation.AnnotationValue
UNDEFINED
-
-
Constructor Summary
Constructors Modifier Constructor Description private
LazyAnnotationValue()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract AnnotationValue<U,V>
doResolve()
Resolves the actual annotation value.boolean
equals(java.lang.Object other)
AnnotationValue<U,V>
filter(MethodDescription.InDefinedShape property, TypeDefinition typeDefinition)
Filters this annotation value as a valid value of the provided property.AnnotationValue.State
getState()
Returns the state of the represented annotation value.int
hashCode()
AnnotationValue.Loaded<V>
load(java.lang.ClassLoader classLoader)
Returns the loaded value of this annotation.U
resolve()
Resolves the unloaded value of this annotation.java.lang.String
toString()
-
Methods inherited from class net.bytebuddy.description.annotation.AnnotationValue.AbstractBase
filter, resolve
-
-
-
-
Method Detail
-
doResolve
protected abstract AnnotationValue<U,V> doResolve()
Resolves the actual annotation value.- Returns:
- The actual annotation value.
-
getState
public AnnotationValue.State getState()
Returns the state of the represented annotation value.- Returns:
- The state represented by this instance.
-
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
public U 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
public AnnotationValue.Loaded<V> load(java.lang.ClassLoader classLoader)
Returns the loaded value of this annotation.- Parameters:
classLoader
- The class loader for loading this value.- Returns:
- The loaded value of this annotation.
-
hashCode
@Enhance("hashCode") public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-