public interface ItemReader<T>
read()
returning a different value
and finally returning null
when all input data is exhausted.ItemReader
need to be aware that this is the case.Modifier and Type | Method and Description |
---|---|
T |
read()
Reads a piece of input data and advance to the next one.
|
@Nullable T read() throws java.lang.Exception, UnexpectedInputException, ParseException, NonTransientResourceException
null
at the end of the input
data set. In a transactional setting, caller might get the same item
twice from successive calls (or otherwise), if the first call was in a
transaction that rolled back.null
if the data source is
exhaustedParseException
- 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.java.lang.Exception
- if an there is a non-specific error.