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, update
getExecutionContextKey, setExecutionContextName, setName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, open, update
read
public 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
AbstractItemCountingItemStreamItemReader
AbstractItemCountingItemStreamItemReader.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
AbstractItemCountingItemStreamItemReader
doOpen
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
AbstractItemCountingItemStreamItemReader
doRead
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.InitializingBean
java.lang.Exception