public interface PeekableItemReader<T> extends ItemReader<T>
A specialisation of ItemReader
that allows the user to look ahead
into the stream of items. This is useful, for instance, when reading flat
file data that contains record separator lines which are actually part of the
next record.
The detailed contract for peek()
has to be defined by the
implementation because there is no general way to define it in a concurrent
environment. The definition of "the next read()" operation is tenuous if
multiple clients are reading concurrently, and the ability to peek implies
that some state is likely to be stored, so implementations of
PeekableItemReader
may well be restricted to single threaded use.
Modifier and Type | Method and Description |
---|---|
T |
peek()
Get the next item that would be returned by
ItemReader.read() , without
affecting the result of ItemReader.read() . |
read
@Nullable T peek() throws java.lang.Exception, UnexpectedInputException, ParseException
ItemReader.read()
, without
affecting the result of ItemReader.read()
.null
if the data source is exhaustedjava.lang.Exception
- if there is a problemUnexpectedInputException
ParseException