@HashCodeAndEqualsPlugin.Enhance public static class Advice.WithCustomMapping extends java.lang.Object
Advice
that uses custom mappings of annotations to constant pool values.Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,Advice.OffsetMapping.Factory<?>> |
offsetMappings
A map containing dynamically computed constant pool values that are mapped by their triggering annotation type.
|
Modifier | Constructor and Description |
---|---|
protected |
WithCustomMapping()
Creates a new custom mapping builder step without including any custom mappings.
|
protected |
WithCustomMapping(java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,Advice.OffsetMapping.Factory<?>> offsetMappings)
Creates a new custom mapping builder step with the given custom mappings.
|
Modifier and Type | Method and Description |
---|---|
Advice.WithCustomMapping |
bind(Advice.OffsetMapping.Factory<?> offsetMapping)
Binds an annotation to a dynamically computed value.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
Advice.OffsetMapping offsetMapping)
Binds the supplied annotation to the annotation's property of the specified name.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
java.lang.Class<?> value)
Binds the supplied annotation to the supplied type constant.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
java.lang.reflect.Constructor<?> constructor,
int index)
Binds the supplied annotation to the supplied parameter's argument.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
java.lang.Enum<?> value)
Binds the supplied annotation to the supplied enumeration constant.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
EnumerationDescription value)
Binds the supplied annotation to the supplied enumeration constant.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
java.lang.reflect.Field field)
Binds the supplied annotation to the value of the supplied field.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
FieldDescription fieldDescription)
Binds the supplied annotation to the value of the supplied field.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
java.lang.reflect.Method method,
int index)
Binds the supplied annotation to the supplied parameter's argument.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
java.lang.Object value)
Binds the supplied annotation to a type constant of the supplied value.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
ParameterDescription parameterDescription)
Binds the supplied annotation to the supplied parameter's argument.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
StackManipulation stackManipulation,
java.lang.reflect.Type targetType)
Binds the supplied annotation to the annotation's property of the specified name.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
StackManipulation stackManipulation,
TypeDescription.Generic targetType)
Binds the supplied annotation to the annotation's property of the specified name.
|
<T extends java.lang.annotation.Annotation> |
bind(java.lang.Class<T> type,
TypeDescription value)
Binds the supplied annotation to the supplied type constant.
|
<T extends java.lang.annotation.Annotation> |
bindProperty(java.lang.Class<T> type,
java.lang.String property)
Binds the supplied annotation to the annotation's property of the specified name.
|
<T extends java.lang.annotation.Annotation,S extends java.io.Serializable> |
bindSerialized(java.lang.Class<T> type,
S value,
java.lang.Class<? super S> targetType)
Binds the supplied annotation to the supplied fixed value.
|
<T extends java.lang.annotation.Annotation> |
bindSerialized(java.lang.Class<T> type,
java.io.Serializable value)
Binds the supplied annotation to the supplied fixed value.
|
Advice |
to(java.lang.Class<?> advice)
Implements advice where every matched method is advised by the given type's advisory methods.
|
Advice |
to(java.lang.Class<?> enterAdvice,
java.lang.Class<?> exitAdvice)
Implements advice where every matched method is advised by the given type's advisory methods.
|
Advice |
to(java.lang.Class<?> enterAdvice,
java.lang.Class<?> exitAdvice,
ClassFileLocator classFileLocator)
Implements advice where every matched method is advised by the given type's advisory methods.
|
Advice |
to(java.lang.Class<?> advice,
ClassFileLocator classFileLocator)
Implements advice where every matched method is advised by the given type's advisory methods.
|
Advice |
to(TypeDescription advice,
ClassFileLocator classFileLocator)
Implements advice where every matched method is advised by the given type's advisory methods.
|
Advice |
to(TypeDescription enterAdvice,
TypeDescription exitAdvice)
Implements advice where every matched method is advised by the given type's advisory methods.
|
Advice |
to(TypeDescription enterAdvice,
TypeDescription exitAdvice,
ClassFileLocator classFileLocator)
Implements advice where every matched method is advised by the given type's advisory methods.
|
private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,Advice.OffsetMapping.Factory<?>> offsetMappings
protected WithCustomMapping()
protected WithCustomMapping(java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,Advice.OffsetMapping.Factory<?>> offsetMappings)
offsetMappings
- A map containing dynamically computed constant pool values that are mapped by their triggering annotation type.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, java.lang.Object value)
null
.T
- The annotation type.type
- The type of the annotation being bound.value
- The value to bind to the annotation.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, java.lang.reflect.Field field)
T
- The annotation type.type
- The type of the annotation being bound.field
- The field to bind to this annotation.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, FieldDescription fieldDescription)
T
- The annotation type.type
- The type of the annotation being bound.fieldDescription
- The field to bind to this annotation.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, java.lang.reflect.Method method, int index)
T
- The annotation type.type
- The type of the annotation being bound.method
- The method that defines the parameter.index
- The index of the parameter.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, java.lang.reflect.Constructor<?> constructor, int index)
T
- The annotation type.type
- The type of the annotation being bound.constructor
- The constructor that defines the parameter.index
- The index of the parameter.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, ParameterDescription parameterDescription)
T
- The annotation type.type
- The type of the annotation being bound.parameterDescription
- The parameter for which to bind an argument.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, java.lang.Class<?> value)
T
- The annotation type.type
- The type of the annotation being bound.value
- The type constant to bind.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, TypeDescription value)
T
- The annotation type.type
- The type of the annotation being bound.value
- The type constant to bind.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, java.lang.Enum<?> value)
T
- The annotation type.type
- The type of the annotation being bound.value
- The enumeration constant to bind.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, EnumerationDescription value)
T
- The annotation type.type
- The type of the annotation being bound.value
- The enumeration constant to bind.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bindSerialized(java.lang.Class<T> type, java.io.Serializable value)
T
- The annotation type.type
- The type of the annotation being bound.value
- The value to bind to this annotation.public <T extends java.lang.annotation.Annotation,S extends java.io.Serializable> Advice.WithCustomMapping bindSerialized(java.lang.Class<T> type, S value, java.lang.Class<? super S> targetType)
T
- The annotation type.S
- The type of the serialized instance.type
- The type of the annotation being bound.value
- The value to bind to this annotation.targetType
- The type of value
as which the instance should be treated.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bindProperty(java.lang.Class<T> type, java.lang.String property)
T
- The annotation type.type
- The type of the annotation being bound.property
- The name of the annotation property to be bound.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, StackManipulation stackManipulation, java.lang.reflect.Type targetType)
T
- The annotation type.type
- The type of the annotation being bound.stackManipulation
- The stack manipulation loading the bound value.targetType
- The type of the loaded value.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, StackManipulation stackManipulation, TypeDescription.Generic targetType)
T
- The annotation type.type
- The type of the annotation being bound.stackManipulation
- The stack manipulation loading the bound value.targetType
- The type of the loaded value.public <T extends java.lang.annotation.Annotation> Advice.WithCustomMapping bind(java.lang.Class<T> type, Advice.OffsetMapping offsetMapping)
T
- The annotation type.type
- The type of the annotation being bound.offsetMapping
- The offset mapping being bound.public Advice.WithCustomMapping bind(Advice.OffsetMapping.Factory<?> offsetMapping)
Advice
component discovers the given annotation on
a parameter of an advice method, the dynamic value is asked to provide a value that is then assigned to the parameter in question.offsetMapping
- The dynamic value that is computed for binding the parameter to a value.public Advice to(java.lang.Class<?> advice)
advice
- The type declaring the advice.public Advice to(java.lang.Class<?> advice, ClassFileLocator classFileLocator)
advice
- The type declaring the advice.classFileLocator
- The class file locator for locating the advisory class's class file.public Advice to(TypeDescription advice, ClassFileLocator classFileLocator)
advice
- A description of the type declaring the advice.classFileLocator
- The class file locator for locating the advisory class's class file.public Advice to(java.lang.Class<?> enterAdvice, java.lang.Class<?> exitAdvice)
enterAdvice
- The type declaring the enter advice.exitAdvice
- The type declaring the exit advice.public Advice to(java.lang.Class<?> enterAdvice, java.lang.Class<?> exitAdvice, ClassFileLocator classFileLocator)
enterAdvice
- The type declaring the enter advice.exitAdvice
- The type declaring the exit advice.classFileLocator
- The class file locator for locating the advisory class's class file.public Advice to(TypeDescription enterAdvice, TypeDescription exitAdvice)
false
are resolvable by the returned instance.enterAdvice
- The type declaring the enter advice.exitAdvice
- The type declaring the exit advice.public Advice to(TypeDescription enterAdvice, TypeDescription exitAdvice, ClassFileLocator classFileLocator)
enterAdvice
- The type declaring the enter advice.exitAdvice
- The type declaring the exit advice.classFileLocator
- The class file locator for locating the advisory class's class file.