public class LdifReader extends AbstractItemCountingItemStreamItemReader<org.springframework.ldap.core.LdapAttributes> implements ResourceAwareItemReaderItemStream<org.springframework.ldap.core.LdapAttributes>, org.springframework.beans.factory.InitializingBean
LdifReader is an adaptation of the FlatFileItemReader
built around an LdifParser.
Unlike the FlatFileItemReader, the LdifReader
does not require a mapper. Instead, this version of the LdifReader simply returns an LdapAttributes
object which can be consumed and manipulated as necessary by ItemProcessor or any
output service. Alternatively, the RecordMapper interface can be implemented and set in a
MappingLdifReader to map records to objects for return.
LdifReader usage is mimics that of the FlatFileItemReader
for all intensive purposes. Adjustments have been made to process records instead of lines, however. As such, the
recordsToSkip attribute indicates the number of records from the top of the file that should not be processed.
Implementations of the RecordCallbackHandler interface can be used to execute operations on those skipped records.
As with the FlatFileItemReader, the strict option differentiates
between whether or not to require the resource to exist before processing. In the case of a value set to false, a warning is logged instead of
an exception being thrown.
| Constructor and Description |
|---|
LdifReader() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
protected void |
doClose()
Close the resources opened in
AbstractItemCountingItemStreamItemReader.doOpen(). |
protected void |
doOpen()
Open resources necessary to start reading input.
|
protected org.springframework.ldap.core.LdapAttributes |
doRead()
Read next item from input.
|
void |
setRecordsToSkip(int recordsToSkip)
Public setter for the number of lines to skip at the start of a file.
|
void |
setResource(org.springframework.core.io.Resource resource)
Establishes the resource that will be used as the input for the LdifReader.
|
void |
setSkippedRecordsCallback(RecordCallbackHandler skippedRecordsCallback)
RecordCallbackHandler implementations can be used to take action on skipped records. |
void |
setStrict(boolean strict)
In strict mode the reader will throw an exception on
AbstractItemCountingItemStreamItemReader.open(org.springframework.batch.item.ExecutionContext) if the
input resource does not exist. |
close, getCurrentItemCount, isSaveState, jumpToItem, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, updategetExecutionContextKey, setExecutionContextName, setNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, open, updatereadpublic void setStrict(boolean strict)
AbstractItemCountingItemStreamItemReader.open(org.springframework.batch.item.ExecutionContext) if the
input resource does not exist.strict - true by defaultpublic void setSkippedRecordsCallback(RecordCallbackHandler skippedRecordsCallback)
RecordCallbackHandler implementations can be used to take action on skipped records.skippedRecordsCallback - will be called for each one of the initial
skipped lines before any items are read.public void setRecordsToSkip(int recordsToSkip)
recordsToSkip - the number of lines to skipprotected void doClose()
throws java.lang.Exception
AbstractItemCountingItemStreamItemReaderAbstractItemCountingItemStreamItemReader.doOpen().doClose in class AbstractItemCountingItemStreamItemReader<org.springframework.ldap.core.LdapAttributes>java.lang.Exception - Allows subclasses to throw checked exceptions for interpretation by the frameworkprotected void doOpen()
throws java.lang.Exception
AbstractItemCountingItemStreamItemReaderdoOpen in class AbstractItemCountingItemStreamItemReader<org.springframework.ldap.core.LdapAttributes>java.lang.Exception - Allows subclasses to throw checked exceptions for interpretation by the framework@Nullable
protected org.springframework.ldap.core.LdapAttributes doRead()
throws java.lang.Exception
AbstractItemCountingItemStreamItemReaderdoRead in class AbstractItemCountingItemStreamItemReader<org.springframework.ldap.core.LdapAttributes>null if the data source is exhaustedjava.lang.Exception - Allows subclasses to throw checked exceptions for interpretation by the frameworkpublic void setResource(org.springframework.core.io.Resource resource)
setResource in interface ResourceAwareItemReaderItemStream<org.springframework.ldap.core.LdapAttributes>resource - the resource that will be read.public void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanjava.lang.Exception