# Package org.springframework.batch.item.support

@NonNullApi package org.springframework.batch.item.support

Internal support package

- Related Packages
  Package
  Description
  org.springframework.batch.item
  Infrastructure interfaces and primary dependencies for item concerns.
  org.springframework.batch.item.support.builder
  Builders for support classes.
- Classes
  Class
  Description
  AbstractFileItemWriter<T>
  Base class for item writers that write data to a file or stream.
  AbstractItemCountingItemStreamItemReader<T>
  Abstract superclass for `ItemReader`s that supports restart by storing item count in the `ExecutionContext` (therefore requires item ordering to be preserved between runs).
  AbstractItemStreamItemReader<T>
  Base class for `ItemReader` implementations.
  AbstractItemStreamItemWriter<T>
  Base class for `ItemWriter` implementations.
  ClassifierCompositeItemProcessor<I,O>
  Calls one of a collection of ItemProcessors, based on a router pattern implemented through the provided `Classifier`.
  ClassifierCompositeItemWriter<T>
  Calls one of a collection of ItemWriters for each item, based on a router pattern implemented through the provided `Classifier`.
  CompositeItemProcessor<I,O>
  Composite `ItemProcessor` that passes the item through a sequence of injected `ItemTransformer`s (return value of previous transformation is the entry value of the next).
  Note the user is responsible for injecting a chain of `ItemProcessor`s that conforms to declared input and output types.
  CompositeItemStream
  Simple `ItemStream` that delegates to a list of other streams.
  CompositeItemWriter<T>
  Calls a collection of `ItemWriter`s in fixed-order sequence.
  The implementation is thread-safe if all delegates are thread-safe.
  IteratorItemReader<T>
  An `ItemReader` that pulls data from a `Iterator` or `Iterable` using the constructors.
  ListItemReader<T>
  An `ItemReader` that pulls data from a list.
  ListItemWriter<T>
  PassThroughItemProcessor<T>
  Simple `ItemProcessor` that does nothing - simply passes its argument through to the caller.
  ScriptItemProcessor<I,O>
  `ItemProcessor` implementation that passes the current item to process to the provided script.
  SingleItemPeekableItemReader<T>
  A `PeekableItemReader` that allows the user to peek one item ahead.
  SynchronizedItemStreamReader<T>
  This is a simple ItemStreamReader decorator with a synchronized ItemReader.read() method - which makes a non-thread-safe ItemReader thread-safe.
  SynchronizedItemStreamWriter<T>
  An `ItemStreamWriter` decorator with a synchronized `write()` method.