T
- The annotation type this factory binds.@HashCodeAndEqualsPlugin.Enhance public static class Advice.OffsetMapping.ForStackManipulation.Factory<T extends java.lang.annotation.Annotation> extends java.lang.Object implements Advice.OffsetMapping.Factory<T>
Advice.OffsetMapping.Factory.AdviceType, Advice.OffsetMapping.Factory.Illegal<T extends java.lang.annotation.Annotation>, Advice.OffsetMapping.Factory.Simple<T extends java.lang.annotation.Annotation>
Modifier and Type | Field and Description |
---|---|
private java.lang.Class<T> |
annotationType
The annotation type.
|
private StackManipulation |
stackManipulation
The stack manipulation that loads the bound value.
|
private TypeDescription.Generic |
typeDescription
The type of the loaded value.
|
Constructor and Description |
---|
Factory(java.lang.Class<T> annotationType,
EnumerationDescription enumerationDescription)
Creates a new factory for binding an enumeration.
|
Factory(java.lang.Class<T> annotationType,
StackManipulation stackManipulation,
TypeDescription.Generic typeDescription)
Creates a new factory for binding a stack manipulation.
|
Factory(java.lang.Class<T> annotationType,
TypeDescription typeDescription)
Creates a new factory for binding a type description.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Class<T> |
getAnnotationType()
Returns the annotation type of this factory.
|
Advice.OffsetMapping |
make(ParameterDescription.InDefinedShape target,
AnnotationDescription.Loadable<T> annotation,
Advice.OffsetMapping.Factory.AdviceType adviceType)
Creates a new offset mapping for the supplied parameter if possible.
|
static <S extends java.lang.annotation.Annotation> |
of(java.lang.Class<S> annotationType,
java.lang.Object value)
Creates a binding for a fixed
String or primitive value. |
private final java.lang.Class<T extends java.lang.annotation.Annotation> annotationType
private final StackManipulation stackManipulation
private final TypeDescription.Generic typeDescription
public Factory(java.lang.Class<T> annotationType, TypeDescription typeDescription)
annotationType
- The annotation type.typeDescription
- The type to bind.public Factory(java.lang.Class<T> annotationType, EnumerationDescription enumerationDescription)
annotationType
- The annotation type.enumerationDescription
- The enumeration to bind.public Factory(java.lang.Class<T> annotationType, StackManipulation stackManipulation, TypeDescription.Generic typeDescription)
annotationType
- The annotation type.stackManipulation
- The stack manipulation that loads the bound value.typeDescription
- The type of the loaded value.public static <S extends java.lang.annotation.Annotation> Advice.OffsetMapping.Factory<S> of(java.lang.Class<S> annotationType, java.lang.Object value)
String
or primitive value.S
- The annotation type.annotationType
- The annotation type.value
- The primitive (wrapper) value or String
value to bind.public java.lang.Class<T> getAnnotationType()
getAnnotationType
in interface Advice.OffsetMapping.Factory<T extends java.lang.annotation.Annotation>
public Advice.OffsetMapping make(ParameterDescription.InDefinedShape target, AnnotationDescription.Loadable<T> annotation, Advice.OffsetMapping.Factory.AdviceType adviceType)
make
in interface Advice.OffsetMapping.Factory<T extends java.lang.annotation.Annotation>
target
- The parameter description for which to resolve an offset mapping.annotation
- The annotation that triggered this factory.adviceType
- true
if the binding is applied using advice method delegation.null
if no mapping can be resolved for this parameter.