org.springframework.batch.item
Interface ItemReader<T>

All Known Subinterfaces:
ItemStreamReader<T>, ResourceAwareItemReaderItemStream<T>
All Known Implementing Classes:
AbstractItemCountingItemStreamItemReader, AbstractItemStreamItemReader, AbstractPagingItemReader, AggregateItemReader, ExampleItemReader, ExceptionThrowingItemReaderProxy, FlatFileItemReader, GeneratingTradeItemReader, HibernateCursorItemReader, IbatisPagingItemReader, InfiniteLoopReader, ItemReaderAdapter, JdbcCursorItemReader, JdbcPagingItemReader, JmsItemReader, JpaPagingItemReader, ListItemReader, MultiResourceItemReader, OrderItemReader, StagingItemReader, StaxEventItemReader

public interface ItemReader<T>

Strategy interface for providing the data.
Implementations are expected to be stateful and will be called multiple times for each batch, with each call to read() returning a different value and finally returning null when all input data is exhausted.
Implementations need *not* be thread safe and clients of a ItemReader need to be aware that this is the case.
A richer interface (e.g. with a look ahead or peek) is not feasible because we need to support transactions in an asynchronous batch.

Since:
1.0
Author:
Rob Harrop, Dave Syer, Lucas Ward

Method Summary
 T read()
          Reads a piece of input data and advance to the next one.
 

Method Detail

read

T read()
       throws Exception,
              UnexpectedInputException,
              ParseException
Reads a piece of input data and advance to the next one. Implementations must return 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.

Throws:
Exception - if an underlying resource is unavailable.
UnexpectedInputException
ParseException


Copyright © 2009 SpringSource. All Rights Reserved.