Package groovy.lang
Interface Interceptor
- All Known Subinterfaces:
PropertyAccessInterceptor
- All Known Implementing Classes:
BenchmarkInterceptor
,TracingInterceptor
public interface Interceptor
Implementers of this interface can be registered in the ProxyMetaClass for
notifications about method calls for objects managed by the ProxyMetaClass.
See groovy/lang/InterceptorTest.groovy for details.
-
Method Summary
Modifier and Type Method Description java.lang.Object
afterInvoke(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, java.lang.Object result)
This code is executed after the method is optionally called.java.lang.Object
beforeInvoke(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)
This code is executed before the method is optionally called.boolean
doInvoke()
-
Method Details
-
beforeInvoke
java.lang.Object beforeInvoke(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)This code is executed before the method is optionally called.- Parameters:
object
- receiver object for the method callmethodName
- name of the method to callarguments
- arguments to the method call- Returns:
- any arbitrary result that replaces the result of the original method call only if doInvoke() returns false and afterInvoke() relays this result.
-
afterInvoke
java.lang.Object afterInvoke(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, java.lang.Object result)This code is executed after the method is optionally called.- Parameters:
object
- receiver object for the called methodmethodName
- name of the called methodarguments
- arguments to the called methodresult
- result of the executed method call or result of beforeInvoke if method was not called- Returns:
- any arbitrary result that can replace the result of the original method call. Typically, the result parameter is returned.
-
doInvoke
boolean doInvoke()- Returns:
- whether the target method should be invoked at all.
-