T - The declaring typeR - The result of the method callpublic interface InvocationContext<T,R> extends Executable<T,R>, AnnotationMetadataDelegate, MutableAttributeHolder
An InvocationContext passed to one or many Interceptor instances. Attributes can be stored within the
context and shared between multiple Interceptor implementations. The proceed() method should be
called to proceed to the next Interceptor with the last interceptor in the chain being the original
decorated method implementation.
The parameters to pass to the next Interceptor can be mutated using MutableArgumentValue
interface returned by the getParameters() method
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBEREMPTY| Modifier and Type | Method and Description |
|---|---|
default Class<T> |
getDeclaringType() |
default InterceptorKind |
getKind() |
Map<String,MutableArgumentValue<?>> |
getParameters()
Returns the current parameters as a map of mutable argument values.
|
default Map<String,Object> |
getParameterValueMap()
Returns the current state of the parameters as a map keyed by parameter name.
|
default Object[] |
getParameterValues()
Returns the current state of the parameters as an array by parameter index.
|
T |
getTarget() |
R |
proceed()
Proceeds with the invocation.
|
R |
proceed(Interceptor from)
Proceeds with the invocation using the given interceptor as a position to start from.
|
default InvocationContext<T,R> |
setAttribute(CharSequence name,
Object value)
Sets an attribute on the message.
|
getArguments, invokebooleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, enumValues, enumValues, enumValues, enumValues, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, findRepeatableAnnotation, findRepeatableAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasPropertyExpressions, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isRepeatableAnnotation, isRepeatableAnnotation, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, stringValues, stringValues, synthesize, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypegetAnnotationMetadatagetAnnotationValuesByName, getAnnotationValuesByStereotype, getDeclaredAnnotationValuesByName, getValues, hasDeclaredStereotype, isAnnotationPresent, isDeclaredAnnotationPresentgetAttributes, removeAttributegetAttribute, getAttribute@NonNull Map<String,MutableArgumentValue<?>> getParameters()
getParameterValues() and Executable.getArguments() directly, hence
should be used with care.ArgumentValue instances@Nullable R proceed() throws RuntimeException
RuntimeException - chain may throw RTE@Nullable R proceed(Interceptor from) throws RuntimeException
Introduction advise where you want to
invoke the target multiple times or where you want to repeat the entire chain.from - The interceptor to start from (note: will not be included in the execution)RuntimeException - chain may throw RTE@NonNull default InterceptorKind getKind()
default Class<T> getDeclaringType()
getDeclaringType in interface Executable<T,R>default InvocationContext<T,R> setAttribute(@NonNull CharSequence name, Object value)
MutableAttributeHoldersetAttribute in interface MutableAttributeHoldername - The name of the attributevalue - The value of the attribute@NonNull default Object[] getParameterValues()
getParameters() and the MutableArgumentValue interface insteadArgumentValue instances