Class PropertyExtractingDelegatingItemWriter<T>

java.lang.Object
org.springframework.batch.item.adapter.AbstractMethodInvokingDelegator<T>
org.springframework.batch.item.adapter.PropertyExtractingDelegatingItemWriter<T>
All Implemented Interfaces:
ItemWriter<T>, org.springframework.beans.factory.InitializingBean

public class PropertyExtractingDelegatingItemWriter<T> extends AbstractMethodInvokingDelegator<T> implements ItemWriter<T>
Delegates processing to a custom method - extracts property values from item object and uses them as arguments for the delegate method.

This writer is thread-safe as long as the delegate ItemWriter is thread-safe.

Author:
Robert Kasanicky, Mahmoud Ben Hassine
See Also:
  • Constructor Details

    • PropertyExtractingDelegatingItemWriter

      public PropertyExtractingDelegatingItemWriter()
  • Method Details

    • write

      public void write(Chunk<? extends T> items) throws Exception
      Extracts values from item's fields named in fieldsUsedAsTargetMethodArguments and passes them as arguments to the delegate method.
      Specified by:
      write in interface ItemWriter<T>
      Parameters:
      items - of items to be written. Must not be null.
      Throws:
      Exception - if there are errors. The framework will catch the exception and convert or rethrow it as appropriate.
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Overrides:
      afterPropertiesSet in class AbstractMethodInvokingDelegator<T>
      Throws:
      Exception
    • setFieldsUsedAsTargetMethodArguments

      public void setFieldsUsedAsTargetMethodArguments(String[] fieldsUsedAsMethodArguments)
      Parameters:
      fieldsUsedAsMethodArguments - the values of the these item's fields will be used as arguments for the delegate method. Nested property values are supported, e.g. address.city