public class EchoDecorator extends InvocationDecoratorSupport
InvocationDecoratorSupport
implementation that echoes any invocation to a PrintWriter
.
The implementation will try to create new proxies for every return value, that can be proxied by the
ProxyFactory
in use.
Constructor and Description |
---|
EchoDecorator(java.io.PrintWriter out,
ProxyFactory factory)
Construct an EchoingDecorator.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object[] |
beforeMethodStarts(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Called before a method is invoked on an object, to possibly decorate the arguments being passed to the method
invocation.
|
java.lang.Exception |
decorateInvocationException(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Exception cause)
Called when a method cannot be invoked, to possibly decorate the type of error.
|
java.lang.Object |
decorateResult(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Object result)
Called on the way back from a method invocation, to possibly decorate the result.
|
java.lang.Throwable |
decorateTargetException(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Throwable cause)
Called when a called method fails, to possibly decorate the type of error.
|
public EchoDecorator(java.io.PrintWriter out, ProxyFactory factory)
out
- the PrintWriter
receving the logsfactory
- the ProxyFactory
to usepublic java.lang.Object[] beforeMethodStarts(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
InvocationDecorator
beforeMethodStarts
in interface InvocationDecorator
beforeMethodStarts
in class InvocationDecoratorSupport
proxy
- the proxy the method will be invoked onmethod
- the method to be invokedargs
- the arguments being passed to the methodpublic java.lang.Object decorateResult(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object result)
InvocationDecorator
decorateResult
in interface InvocationDecorator
decorateResult
in class InvocationDecoratorSupport
proxy
- the proxy the method was be invoked onmethod
- the invoked methodargs
- the arguments passed to the methodresult
- the result of the method invocationpublic java.lang.Throwable decorateTargetException(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Throwable cause)
InvocationDecorator
decorateTargetException
in interface InvocationDecorator
decorateTargetException
in class InvocationDecoratorSupport
proxy
- the proxy the method was be invoked onmethod
- the invoked methodargs
- the arguments passed to the methodcause
- the original exception thrownpublic java.lang.Exception decorateInvocationException(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Exception cause)
InvocationDecorator
decorateInvocationException
in interface InvocationDecorator
decorateInvocationException
in class InvocationDecoratorSupport
proxy
- the proxy the method was be invoked onmethod
- the invoked methodargs
- the arguments passed to the methodcause
- the original exception thrown