| Interceptor.java |
package org.mockejb.interceptor;
/**
* Interceptors intercept calls to an object to perform some actions, such as logging,
* transaction management and so on.
* Interceptor can perform actions before the call, then it must call the
* {@link InvocationContext#proceed proceed} method
* and after that it can perform post-call actions if needed.
*
* @author Alexander Ananiev
*/
public interface Interceptor {
/**
* Performs pre and post invocation actions for the target object call.
* @param invocationContext provides the info about this call. Also calls interceptors in
* turn according to their order in the chain. invocationContext provides access to the return value
* and thrown exceptions of this call.
*/
void intercept( InvocationContext invocationContext ) throws Exception;
}