Package org.apache.batchee.container.proxy

## Class BatchProxyInvocationHandler

- java.lang.Object
- - org.apache.batchee.container.proxy.BatchProxyInvocationHandler

- All Implemented Interfaces:
    `InvocationHandler`

      public class BatchProxyInvocationHandler
      extends Object
      implements InvocationHandler

  Proxy handler for all our Batch parts like ItemReader, ItemWriter, etc. Most batch part methods store away the exception in the StepContext. A few methods need to be excluded from that rule in order to provide skip/retry logic.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BatchProxyInvocationHandler​(Object delegate, InjectionReferences injectionRefs, String... nonExceptionHandlingMethods)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `invoke​(Object proxy, Method method, Object[] args)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BatchProxyInvocationHandler

          public BatchProxyInvocationHandler​(Object delegate,
                                             InjectionReferences injectionRefs,
                                             String... nonExceptionHandlingMethods)

      Parameters:
        `delegate` - the internal delegate which does the real job
        `injectionRefs` - used to store any Exceptions and for CDI support
        `nonExceptionHandlingMethods` - array of methods which should not cause the Exceptions to be stored in the StepContext

  - ### Method Detail

    - #### invoke

          public Object invoke​(Object proxy,
                               Method method,
                               Object[] args)
                        throws Throwable

      Specified by:
        `invoke` in interface `InvocationHandler`
      Throws:
        `Throwable`