public class AggregateItemReader<T> extends java.lang.Object implements ItemReader<java.util.List<T>>
ItemReader that delivers a list as its item, storing up objects
from the injected ItemReader until they are ready to be packed out as
a collection. This class must be used as a wrapper for a custom
ItemReader that can identify the record boundaries. The custom reader
should mark the beginning and end of records by returning an
AggregateItem which responds true to its query methods
is*().ItemReader is also thread-safe.AggregateItem.isHeader(),
AggregateItem.isFooter()| Constructor and Description |
|---|
AggregateItemReader() |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<T> |
read()
Get the next list of records.
|
void |
setItemReader(ItemReader<AggregateItem<T>> itemReader) |
public java.util.List<T> read() throws java.lang.Exception
read in interface ItemReader<java.util.List<T>>java.lang.ExceptionParseException - if there is a problem parsing the current record
(but the next one may still be valid)NonTransientResourceException - if there is a fatal exception in
the underlying resource. After throwing this exception implementations
should endeavour to return null from subsequent calls to read.UnexpectedInputException - if there is an uncategorised problem
with the input data. Assume potentially transient, so subsequent calls to
read might succeed.ItemReader.read()public void setItemReader(ItemReader<AggregateItem<T>> itemReader)