T - Class type read from the filepublic class BeanIOFlatFileItemReader<T> extends AbstractItemCountingItemStreamItemReader<T> implements ResourceAwareItemReaderItemStream<T>, InitializingBean
This implementation requires Spring 2.5 or greater, and Spring Batch 2.1.x.
| Constructor and Description |
|---|
BeanIOFlatFileItemReader()
Constructs a new BeanIOFlatFileItemReader.
|
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
protected void |
doClose() |
protected void |
doOpen() |
protected T |
doRead() |
protected BeanReader |
getBeanReader()
Returns the underlying
BeanReader. |
int |
getLineNumber()
Returns the starting line number of the first record for the most recent bean
object read from this reader, or -1 when the end of the stream is reached.
|
RecordContext |
getRecordContext(int index)
Returns record information for the most recent bean object read from this reader.
|
int |
getRecordCount()
Returns the number of records read from the underlying input stream for the
most recent bean object read from this reader.
|
String |
getRecordName()
Returns the record or group name of the most recent bean object
read from this reader, or null if the end of the stream was reached.
|
protected void |
initializeStreamFactory()
Creates a
StreamFactory if one was not set, loads the stream
mapping resource if set, and validates the StreamFactory has a
mapping for the configured stream name. |
protected void |
jumpToItem(int itemIndex) |
void |
setEncoding(String encoding)
Sets the input stream encoding.
|
void |
setErrorHandler(BeanReaderErrorHandler errorHandler)
Sets the BeanIO error handler for handling BeanIO specific exceptions.
|
void |
setLocale(String locale)
Sets the locale for resolving error messages from a stream mapping's
configured resource bundle.
|
void |
setResource(Resource resource) |
void |
setStreamFactory(StreamFactory streamFactory)
Sets the
StreamFactory for loading stream mapping configurations. |
void |
setStreamMapping(Resource streamMapping)
Sets the mapping file resource.
|
void |
setStreamName(String streamName)
Sets the mapping configuration's stream name for reading this input
stream.
|
void |
setStrict(boolean strict)
In strict mode this reader will throw an exception if the input resource does
not exist when opened.
|
void |
setUseSpringExceptions(boolean useSpringExceptions)
Set to true to force
AbstractItemCountingItemStreamItemReader.read() to wrap BeanIO exceptions
to their closest Spring-batch counterpart. |
close, getCurrentItemCount, getExecutionContextUserSupport, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setName, setSaveState, updateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, open, updatereadpublic BeanIOFlatFileItemReader()
public void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface InitializingBeanExceptionprotected T doRead() throws Exception
doRead in class AbstractItemCountingItemStreamItemReader<T>Exceptionprotected void doOpen()
throws Exception
doOpen in class AbstractItemCountingItemStreamItemReader<T>Exceptionprotected void doClose()
throws Exception
doClose in class AbstractItemCountingItemStreamItemReader<T>Exceptionprotected void jumpToItem(int itemIndex)
throws Exception
jumpToItem in class AbstractItemCountingItemStreamItemReader<T>Exceptionprotected void initializeStreamFactory()
throws Exception
StreamFactory if one was not set, loads the stream
mapping resource if set, and validates the StreamFactory has a
mapping for the configured stream name.IllegalStateException - if the configured stream name is not found
in the StreamFactory after loading the stream mappingExceptionpublic String getRecordName()
public int getLineNumber()
public int getRecordCount()
public RecordContext getRecordContext(int index) throws IndexOutOfBoundsException
getRecordCount() can be used
to determine how many records were read from the stream.index - the index of the record, starting at 0RecordContext, or null if the stream is closedIndexOutOfBoundsException - if there is no record for the given indexgetRecordCount()protected BeanReader getBeanReader()
BeanReader.BeanReader, or null if the stream is closedpublic void setResource(Resource resource)
setResource in interface ResourceAwareItemReaderItemStream<T>public void setStrict(boolean strict)
strict - set to false to disable resource validationpublic void setStreamFactory(StreamFactory streamFactory)
StreamFactory for loading stream mapping configurations. If not set,
a new default StreamFactory is created.streamFactory - the StreamFactory to use for loading stream
mapping configurationspublic void setStreamMapping(Resource streamMapping)
streamMapping - the stream mapping resourcepublic void setStreamName(String streamName)
streamName - the stream namepublic void setEncoding(String encoding)
encoding - input stream encodingpublic void setUseSpringExceptions(boolean useSpringExceptions)
AbstractItemCountingItemStreamItemReader.read() to wrap BeanIO exceptions
to their closest Spring-batch counterpart. Defaults to false.
useSpringExceptions - set to true to map BeanIO exceptions
to their Spring-batch counterpartpublic void setErrorHandler(BeanReaderErrorHandler errorHandler)
AbstractItemCountingItemStreamItemReader.read() method will throw the exception
directly.errorHandler - the BeanReaderErrorHandler for handling exceptionspublic void setLocale(String locale)
locale - the locale for resolving error messages