org.springframework.aop
Interface ProxyMethodInvocation

All Superinterfaces:
Invocation, Joinpoint, MethodInvocation
All Known Implementing Classes:
ReflectiveMethodInvocation

public interface ProxyMethodInvocation
extends MethodInvocation

Extension of the AOP Alliance MethodInvocation interface, allowing access to the proxy that the method invocation was made through.

Useful to be able to substitute return values with the proxy, if necessary, for example if the invocation target returned itself.

Since:
1.1.3
Author:
Juergen Hoeller, Adrian Colyer
See Also:
ReflectiveMethodInvocation, DelegatingIntroductionInterceptor

Method Summary
 Object getProxy()
          Return the proxy that this method invocation was made through.
 Object getUserAttribute(String key)
          Return the value of the specified user attribute.
 MethodInvocation invocableClone()
          Create a clone of this object.
 MethodInvocation invocableClone(Object[] arguments)
          Create a clone of this object.
 void setArguments(Object[] arguments)
          Set the arguments to be used on subsequent invocations in the any advice in this chain.
 void setUserAttribute(String key, Object value)
          Add the specified user attribute with the given value to this invocation.
 
Methods inherited from interface org.aopalliance.intercept.MethodInvocation
getMethod
 
Methods inherited from interface org.aopalliance.intercept.Invocation
getArguments
 
Methods inherited from interface org.aopalliance.intercept.Joinpoint
getStaticPart, getThis, proceed
 

Method Detail

getProxy

Object getProxy()
Return the proxy that this method invocation was made through.

Returns:
the original proxy object

invocableClone

MethodInvocation invocableClone()
Create a clone of this object. If cloning is done before proceed() is invoked on this object, proceed() can be invoked once per clone to invoke the joinpoint (and the rest of the advice chain) more than once.

Returns:
an invocable clone of this invocation. proceed() can be called once per clone.

invocableClone

MethodInvocation invocableClone(Object[] arguments)
Create a clone of this object. If cloning is done before proceed() is invoked on this object, proceed() can be invoked once per clone to invoke the joinpoint (and the rest of the advice chain) more than once.

Parameters:
arguments - the arguments that the cloned invocation is supposed to use, overriding the original arguments
Returns:
an invocable clone of this invocation. proceed() can be called once per clone.

setArguments

void setArguments(Object[] arguments)
Set the arguments to be used on subsequent invocations in the any advice in this chain.

Parameters:
arguments - the argument array

setUserAttribute

void setUserAttribute(String key,
                      Object value)
Add the specified user attribute with the given value to this invocation.

Such attributes are not used within the AOP framework itself. They are just kept as part of the invocation object, for use in special interceptors.

Parameters:
key - the name of the attribute
value - the value of the attribute, or null to reset it

getUserAttribute

Object getUserAttribute(String key)
Return the value of the specified user attribute.

Parameters:
key - the name of the attribute
Returns:
the value of the attribute, or null if not set
See Also:
setUserAttribute(java.lang.String, java.lang.Object)