org.springframework.ldap.ldif.batch
Class LdifReader
java.lang.Object
org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<LdapAttributes>
org.springframework.ldap.ldif.batch.LdifReader
- All Implemented Interfaces:
- org.springframework.batch.item.file.ResourceAwareItemReaderItemStream<LdapAttributes>, org.springframework.batch.item.ItemReader<LdapAttributes>, org.springframework.batch.item.ItemStream, org.springframework.batch.item.ItemStreamReader<LdapAttributes>, InitializingBean
public class LdifReader
- extends org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<LdapAttributes>
- implements org.springframework.batch.item.file.ResourceAwareItemReaderItemStream<LdapAttributes>, InitializingBean
The 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.
- Author:
- Keith Barlow
Methods inherited from class org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader |
close, getCurrentItemCount, jumpToItem, open, read, setCurrentItemCount, setMaxItemCount, setName, setSaveState, update |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.springframework.batch.item.ItemStream |
close, open, update |
Methods inherited from interface org.springframework.batch.item.ItemReader |
read |
LdifReader
public LdifReader()
setStrict
public 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.
- Parameters:
strict
- false by default
setSkippedRecordsCallback
public void setSkippedRecordsCallback(RecordCallbackHandler skippedRecordsCallback)
RecordCallbackHandler
implementations can be used to take action on skipped records.
- Parameters:
skippedRecordsCallback
- will be called for each one of the initial
skipped lines before any items are read.
setRecordsToSkip
public void setRecordsToSkip(int recordsToSkip)
- Public setter for the number of lines to skip at the start of a file. Can
be used if the file contains a header without useful (column name)
information, and without a comment delimiter at the beginning of the
lines.
- Parameters:
recordsToSkip
- the number of lines to skip
doClose
protected void doClose()
throws Exception
- Specified by:
doClose
in class org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<LdapAttributes>
- Throws:
Exception
doOpen
protected void doOpen()
throws Exception
- Specified by:
doOpen
in class org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<LdapAttributes>
- Throws:
Exception
doRead
protected LdapAttributes doRead()
throws Exception
- Specified by:
doRead
in class org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<LdapAttributes>
- Throws:
Exception
setResource
public void setResource(Resource resource)
- Specified by:
setResource
in interface org.springframework.batch.item.file.ResourceAwareItemReaderItemStream<LdapAttributes>
afterPropertiesSet
public void afterPropertiesSet()
throws Exception
- Specified by:
afterPropertiesSet
in interface InitializingBean
- Throws:
Exception