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_MEMBER
EMPTY
Modifier and Type | Method and Description |
---|---|
Map<String,MutableArgumentValue<?>> |
getParameters() |
default Map<String,Object> |
getParameterValueMap()
Returns the current state of the parameters as an array by parameter index.
|
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, invoke
booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByType, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByType
getAnnotationMetadata
getAttributes, removeAttribute
getAttribute, getAttribute
Map<String,MutableArgumentValue<?>> getParameters()
ArgumentValue
instancesT getTarget()
R proceed() throws RuntimeException
RuntimeException
- chain may throw RTER 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 RTEdefault InvocationContext<T,R> setAttribute(CharSequence name, Object value)
MutableAttributeHolder
setAttribute
in interface MutableAttributeHolder
name
- The name of the attributevalue
- The value of the attributedefault Object[] getParameterValues()
getParameters()
and the MutableArgumentValue
interface insteadArgumentValue
instancesdefault Map<String,Object> getParameterValueMap()
getParameters()
and the MutableArgumentValue
interface insteadArgumentValue
instances