Package org.springframework.batch.item.support

# Class CompositeItemStream

java.lang.Object
org.springframework.batch.item.support.CompositeItemStream

All Implemented Interfaces:
  `ItemStream`

public class CompositeItemStream extends Object implements ItemStream
Simple `ItemStream` that delegates to a list of other streams.

Author:
  Dave Syer, Mahmoud Ben Hassine

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CompositeItemStream()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Broadcast the call to close.
  `void`
  `open(ExecutionContext executionContext)`
  Broadcast the call to open.
  `void`
  `register(ItemStream stream)`
  Register a `ItemStream` as one of the interesting providers under the provided key.
  `void`
  `setStreams(ItemStream[] streams)`
  Public setter for the `ItemStream`s.
  `void`
  `update(ExecutionContext executionContext)`
  Simple aggregate `ExecutionContext` provider for the contributions registered under the given key.

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

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

- ## Constructor Details

  - ### CompositeItemStream

    public CompositeItemStream()

- ## Method Details

  - ### setStreams

    public void setStreams(ItemStream[] streams)
    Public setter for the `ItemStream`s.
    Parameters:
      `streams` - array of `ItemStream`.

  - ### register

    public void register(ItemStream stream)
    Register a `ItemStream` as one of the interesting providers under the provided key.
    Parameters:
      `stream` - an instance of `ItemStream` to be added to the list of streams.

  - ### update

    public void update(ExecutionContext executionContext)
    Simple aggregate `ExecutionContext` provider for the contributions registered under the given key.
    Specified by:
      `update` in interface `ItemStream`
    Parameters:
      `executionContext` - to be updated
    See Also:
      - `ItemStream.update(ExecutionContext)`

  - ### close

    public void close() throws ItemStreamException
    Broadcast the call to close.
    Specified by:
      `close` in interface `ItemStream`
    Throws:
      `ItemStreamException` - thrown if one of the `ItemStream`s in the list fails to close. This is a sequential operation so all itemStreams in the list after the one that failed to close will remain open.

  - ### open

    public void open(ExecutionContext executionContext) throws ItemStreamException
    Broadcast the call to open.
    Specified by:
      `open` in interface `ItemStream`
    Parameters:
      `executionContext` - current step's `ExecutionContext`. Will be the executionContext from the last run of the step on a restart.
    Throws:
      `ItemStreamException` - thrown if one of the `ItemStream`s in the list fails to open. This is a sequential operation so all itemStreams in the list after the one that failed to open will not be opened.