public interface InvocationContext
Exposes context information about the intercepted invocation and operations that enable interceptor methods to control the behavior of the invocation chain.
@AroundInvoke public Object logInvocation(InvocationContext ctx) throws Exception { String class = ctx.getMethod().getDeclaringClass().getName(); String method = ctx.getMethod().getName(); Logger.global.entering(class, method, ctx.getParameters()); try { Object result = ctx.proceed(); Logger.global.exiting(class, method, result); return result; } catch (Exception e) { Logger.global.throwing(class, method, e); throw e; } }
Modifier and Type | Method and Description |
---|---|
Constructor<?> |
getConstructor()
Returns the constructor of the target class for which the interceptor
was invoked.
|
Map<String,Object> |
getContextData()
Enables an interceptor to retrieve or update the data associated with
the invocation by another interceptor, business method,and/or webservices
context in the invocation chain.
|
Method |
getMethod()
Returns the method of the target class for which the interceptor
was invoked.
|
Object[] |
getParameters()
Returns the parameter values that will be passed to the method or
constructor of the target class.
|
Object |
getTarget()
Returns the target instance.
|
Object |
getTimer()
Returns the timer object associated with a timeout
method invocation on the target class, or a null value for method
and lifecycle callback interceptor methods.
|
Object |
proceed()
Proceed to the next interceptor in the interceptor chain.
|
void |
setParameters(Object[] params)
Sets the parameter values that will be passed to the method or
constructor of the target class.
|
Object getTarget()
AroundConstruct
lifecycle callback
interceptor method, the getTarget returns null
if called before the proceed()
method.Object getTimer()
Timer
Method getMethod()
AroundConstruct
lifecycle callback interceptor method,
getMethod
returns null.Constructor<?> getConstructor()
AroundConstruct
interceptor, the constructor of the
target class is returned. For all other interceptors,
a null value is returned.Object[] getParameters()
setParameters(java.lang.Object[])
has been
called, getParameters
returns the values to which the parameters
have been set.IllegalStateException
- if invoked within
a lifecycle callback method which is not an AroundConstruct
callback.void setParameters(Object[] params)
params
- the parameter values, as an arrayIllegalStateException
- if invoked within
a lifecycle callback method which is not an AroundConstruct
callback.IllegalArgumentException
- if the types of the
given parameter values do not match the types of the method or constructor
parameters, or if the number of parameters supplied does not equal the
number of method or constructor parameters (if the last parameter is a
vararg parameter of type T
, it is considered to be equivalent
to a parameter of type T[]
).Map<String,Object> getContextData()
Map<String,Object>
object will be returned.Object proceed() throws Exception
AroundConstruct
lifecycle callback interceptor
methods, the invocation of the last interceptor method in the chain causes
the target instance to be created. For all other lifecycle callback
interceptor methods, if there is no callback method defined on the target
class, the invocation of proceed in the last interceptor method in the chain
is a no-op
Return the result of the next method invoked, or a null value if the method has return type void.
Exception
Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.