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 |
---|---|
java.util.Map<java.lang.String,MutableArgumentValue<?>> |
getParameters()
Returns the current parameters as a map of mutable argument values.
|
default java.util.Map<java.lang.String,java.lang.Object> |
getParameterValueMap()
Returns the current state of the parameters as a map keyed by parameter name.
|
default java.lang.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(java.lang.CharSequence name,
java.lang.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, enumValues, enumValues, enumValues, enumValues, 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, getDefaultValues, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, 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
java.util.Map<java.lang.String,MutableArgumentValue<?>> getParameters()
getParameterValues()
and Executable.getArguments()
directly, hence
should be used with care.ArgumentValue
instancesT getTarget()
R proceed() throws java.lang.RuntimeException
java.lang.RuntimeException
- chain may throw RTER proceed(Interceptor from) throws java.lang.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)java.lang.RuntimeException
- chain may throw RTEdefault InvocationContext<T,R> setAttribute(java.lang.CharSequence name, java.lang.Object value)
MutableAttributeHolder
setAttribute
in interface MutableAttributeHolder
name
- The name of the attributevalue
- The value of the attributedefault java.lang.Object[] getParameterValues()
getParameters()
and the MutableArgumentValue
interface insteadArgumentValue
instancesdefault java.util.Map<java.lang.String,java.lang.Object> getParameterValueMap()