|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.batch.item.adapter.AbstractMethodInvokingDelegator<T>
public abstract class AbstractMethodInvokingDelegator<T>
Superclass for delegating classes which dynamically call a custom method of
injected object. Provides convenient API for dynamic method invocation
shielding subclasses from low-level details and exception handling.
Exception
s thrown by a successfully invoked delegate method are
re-thrown without wrapping. In case the delegate method throws a
Throwable
that doesn't subclass Exception
it will be wrapped
by AbstractMethodInvokingDelegator.InvocationTargetThrowableWrapper
.
Nested Class Summary | |
---|---|
static class |
AbstractMethodInvokingDelegator.InvocationTargetThrowableWrapper
Used to wrap a Throwable (not an Exception ) thrown by a
reflectively-invoked delegate. |
Constructor Summary | |
---|---|
AbstractMethodInvokingDelegator()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
|
protected T |
invokeDelegateMethod()
Invoker the target method with arguments set by setArguments(Object[]) . |
protected T |
invokeDelegateMethodWithArgument(Object object)
Invokes the target method with given argument. |
protected T |
invokeDelegateMethodWithArguments(Object[] args)
Invokes the target method with given arguments. |
void |
setArguments(Object[] arguments)
|
void |
setTargetMethod(String targetMethod)
|
void |
setTargetObject(Object targetObject)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AbstractMethodInvokingDelegator()
Method Detail |
---|
protected T invokeDelegateMethod() throws Exception
setArguments(Object[])
.
DynamicMethodInvocationException
- if the MethodInvoker
used throws exception
Exception
protected T invokeDelegateMethodWithArgument(Object object) throws Exception
object
- argument for the target method
DynamicMethodInvocationException
- if the MethodInvoker
used throws exception
Exception
protected T invokeDelegateMethodWithArguments(Object[] args) throws Exception
args
- arguments for the invoked method
DynamicMethodInvocationException
- if the MethodInvoker
used throws exception
Exception
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
Exception
public void setTargetObject(Object targetObject)
targetObject
- the delegate - bean id can be used to set this value
in Spring configurationpublic void setTargetMethod(String targetMethod)
targetMethod
- name of the method to be invoked on
setTargetObject(Object)
.public void setArguments(Object[] arguments)
arguments
- arguments values for the {
setTargetMethod(String)
. These will be used only when the
subclass tries to invoke the target method without providing explicit
argument values.
If arguments are set to not-null value afterPropertiesSet()
will
check the values are compatible with target method's signature. In case
arguments are null (not set) method signature will not be checked and it
is assumed correct values will be supplied at runtime.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |