Class CompositeItemProcessor<I,O>

java.lang.Object
org.springframework.batch.item.support.CompositeItemProcessor<I,O>
All Implemented Interfaces:
ItemProcessor<I,O>, org.springframework.beans.factory.InitializingBean

public class CompositeItemProcessor<I,O> extends Object implements ItemProcessor<I,O>, org.springframework.beans.factory.InitializingBean
Composite ItemProcessor that passes the item through a sequence of injected ItemTransformers (return value of previous transformation is the entry value of the next).

Note the user is responsible for injecting a chain of ItemProcessors that conforms to declared input and output types.
Author:
Robert Kasanicky
  • Constructor Details

    • CompositeItemProcessor

      public CompositeItemProcessor()
      Default constrcutor
    • CompositeItemProcessor

      public CompositeItemProcessor(ItemProcessor<?,?>... delegates)
      Convenience constructor for setting the delegates.
      Parameters:
      delegates - array of ItemProcessor delegates that will work on the item.
    • CompositeItemProcessor

      public CompositeItemProcessor(List<? extends ItemProcessor<?,?>> delegates)
      Convenience constructor for setting the delegates.
      Parameters:
      delegates - list of ItemProcessor delegates that will work on the item.
  • Method Details

    • process

      @Nullable public O process(I item) throws Exception
      Description copied from interface: ItemProcessor
      Process the provided item, returning a potentially modified or new item for continued processing. If the returned result is null, it is assumed that processing of the item should not continue. A null item will never reach this method because the only possible sources are:
      • an ItemReader (which indicates no more items)
      • a previous ItemProcessor in a composite processor (which indicates a filtered item)
      Specified by:
      process in interface ItemProcessor<I,O>
      Parameters:
      item - to be processed, never null.
      Returns:
      potentially modified or new item for continued processing, null if processing of the provided item should not continue.
      Throws:
      Exception - thrown if exception occurs during processing.
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception
    • setDelegates

      public void setDelegates(List<? extends ItemProcessor<?,?>> delegates)
      Establishes the ItemProcessor delegates that will work on the item to be processed.
      Parameters:
      delegates - list of ItemProcessor delegates that will work on the item.