Package org.fest.reflect.field.decorator
Class DecoratorInvocationHandler<T>
- java.lang.Object
-
- org.fest.reflect.field.decorator.DecoratorInvocationHandler<T>
-
- All Implemented Interfaces:
java.lang.reflect.InvocationHandler
- Direct Known Subclasses:
PostDecorator,PreDecorator
public abstract class DecoratorInvocationHandler<T> extends java.lang.Object implements java.lang.reflect.InvocationHandler- Author:
- Ivan Hristov
-
-
Constructor Summary
Constructors Constructor Description DecoratorInvocationHandler(T target, T decorator)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description TgetDecorator()protected abstract java.lang.ObjectgetResult(java.lang.Object firstResult, java.lang.Object secondResult)TgetTarget()java.lang.Objectinvoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)protected abstract java.lang.ObjectinvokeFirst(java.lang.reflect.Method method, java.lang.Object[] args)protected abstract java.lang.ObjectinvokeSecond(java.lang.reflect.Method method, java.lang.Object[] args)voidsetDecorator(T decorator)voidsetReturnDecoratorResult(boolean returnDecoratorResult)protected booleanshouldReturnDecoratorResult()
-
-
-
Method Detail
-
setDecorator
public void setDecorator(T decorator)
-
getTarget
public T getTarget()
-
getDecorator
public T getDecorator()
-
invoke
public final java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable- Specified by:
invokein interfacejava.lang.reflect.InvocationHandler- Throws:
java.lang.Throwable
-
invokeFirst
protected abstract java.lang.Object invokeFirst(java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException- Throws:
java.lang.IllegalArgumentExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetException
-
invokeSecond
protected abstract java.lang.Object invokeSecond(java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException- Throws:
java.lang.IllegalArgumentExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetException
-
getResult
protected abstract java.lang.Object getResult(java.lang.Object firstResult, java.lang.Object secondResult)
-
setReturnDecoratorResult
public void setReturnDecoratorResult(boolean returnDecoratorResult)
-
shouldReturnDecoratorResult
protected boolean shouldReturnDecoratorResult()
-
-