Package org.forgerock.opendj.ldif
Class LdifEntryWriter
java.lang.Object
org.forgerock.opendj.ldif.LdifEntryWriter
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
,EntryWriter
An LDIF entry writer writes attribute value records (entries) using the LDAP
Data Interchange Format (LDIF) to a user defined destination.
-
Constructor Summary
ConstructorDescriptionCreates a new LDIF entry writer whose destination is the provided output stream.LdifEntryWriter
(Writer writer) Creates a new LDIF entry writer whose destination is the provided character stream writer.LdifEntryWriter
(List<String> ldifLines) Creates a new LDIF entry writer which will append lines of LDIF to the provided list. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes this entry writer, flushing it first.void
flush()
Flushes this entry writer so that any buffered data is written immediately to underlying stream, flushing the stream if it is alsoFlushable
.long
Returns the number of entries provided towriteEntry(Entry)
which have been ignored because they were excluded by the writer's filtering configuration.long
Returns the number of entries provided towriteEntry(Entry)
which have been written to the LDIF output file.setAddUserFriendlyComments
(boolean addUserFriendlyComments) Specifies whether user-friendly comments should be added whenever distinguished names or UTF-8 attribute values are encountered which contained non-ASCII characters.setExcludeAllOperationalAttributes
(boolean excludeOperationalAttributes) Specifies whether all operational attributes should be excluded from any entries that are written to LDIF.setExcludeAllUserAttributes
(boolean excludeUserAttributes) Specifies whether all user attributes should be excluded from any entries that are written to LDIF.setExcludeAttribute
(AttributeDescription attributeDescription) Excludes the named attribute from any entries that are written to LDIF.setExcludeBranch
(Dn excludeBranch) Excludes all entries beneath the named entry (inclusive) from being written to LDIF.setIncludeAttribute
(AttributeDescription attributeDescription) Ensures that the named attribute is not excluded from any entries that are written to LDIF.setIncludeBranch
(Dn includeBranch) Ensures that all entries beneath the named entry (inclusive) are written to LDIF.setIncludeExcludeFilters
(Collection<Filter> includeFilters, Collection<Filter> excludeFilters) Sets the filters to include / exclude entries.setWrapColumn
(int wrapColumn) Specifies the column at which long lines should be wrapped.static String
Returns the LDIF string representation of the provided entry.writeComment
(CharSequence comment) Writes a comment.writeEntry
(Entry entry) Writes an entry.
-
Constructor Details
-
LdifEntryWriter
Creates a new LDIF entry writer which will append lines of LDIF to the provided list.- Parameters:
ldifLines
- The list to which lines of LDIF should be appended.
-
LdifEntryWriter
Creates a new LDIF entry writer whose destination is the provided output stream.- Parameters:
out
- The output stream to use.
-
LdifEntryWriter
Creates a new LDIF entry writer whose destination is the provided character stream writer.- Parameters:
writer
- The character stream writer to use.
-
-
Method Details
-
toString
Returns the LDIF string representation of the provided entry.- Parameters:
entry
- The entry.- Returns:
- The LDIF string representation of the provided entry.
-
close
Description copied from interface:EntryWriter
Closes this entry writer, flushing it first. Closing a previously closed entry writer has no effect.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceEntryWriter
- Throws:
IOException
- If an unexpected IO error occurred while closing.
-
flush
Description copied from interface:EntryWriter
Flushes this entry writer so that any buffered data is written immediately to underlying stream, flushing the stream if it is alsoFlushable
.If the intended destination of this stream is an abstraction provided by the underlying operating system, for example a file, then flushing the stream guarantees only that bytes previously written to the stream are passed to the operating system for writing; it does not guarantee that they are actually written to a physical device such as a disk drive.
- Specified by:
flush
in interfaceEntryWriter
- Specified by:
flush
in interfaceFlushable
- Throws:
IOException
- If an unexpected IO error occurred while flushing.
-
setAddUserFriendlyComments
Specifies whether user-friendly comments should be added whenever distinguished names or UTF-8 attribute values are encountered which contained non-ASCII characters. The default isfalse
.- Parameters:
addUserFriendlyComments
-true
if user-friendly comments should be added, orfalse
otherwise.- Returns:
- A reference to this
LdifEntryWriter
.
-
setExcludeAllOperationalAttributes
Specifies whether all operational attributes should be excluded from any entries that are written to LDIF. The default isfalse
.- Parameters:
excludeOperationalAttributes
-true
if all operational attributes should be excluded, orfalse
otherwise.- Returns:
- A reference to this
LdifEntryWriter
.
-
setExcludeAllUserAttributes
Specifies whether all user attributes should be excluded from any entries that are written to LDIF. The default isfalse
.- Parameters:
excludeUserAttributes
-true
if all user attributes should be excluded, orfalse
otherwise.- Returns:
- A reference to this
LdifEntryWriter
.
-
setExcludeAttribute
Excludes the named attribute from any entries that are written to LDIF. By default all attributes are included unless explicitly excluded.- Parameters:
attributeDescription
- The name of the attribute to be excluded.- Returns:
- A reference to this
LdifEntryWriter
.
-
setExcludeBranch
Excludes all entries beneath the named entry (inclusive) from being written to LDIF. By default all entries are written unless explicitly excluded or included by branches or filters.- Parameters:
excludeBranch
- The distinguished name of the branch to be excluded.- Returns:
- A reference to this
LdifEntryWriter
.
-
setIncludeAttribute
Ensures that the named attribute is not excluded from any entries that are written to LDIF. By default all attributes are included unless explicitly excluded.- Parameters:
attributeDescription
- The name of the attribute to be included.- Returns:
- A reference to this
LdifEntryWriter
.
-
setIncludeBranch
Ensures that all entries beneath the named entry (inclusive) are written to LDIF. By default all entries are written unless explicitly excluded or included by branches or filters.- Parameters:
includeBranch
- The distinguished name of the branch to be included.- Returns:
- A reference to this
LdifEntryWriter
.
-
setIncludeExcludeFilters
public LdifEntryWriter setIncludeExcludeFilters(Collection<Filter> includeFilters, Collection<Filter> excludeFilters) Sets the filters to include / exclude entries. By default all entries are read unless explicitly excluded or included by branches or filters.- Parameters:
includeFilters
- entries which match any include filter will be included from LDIF.excludeFilters
- entries which match any exclude filter will be excluded from LDIF.- Returns:
- A reference to this
LdifEntryReader
.
-
setWrapColumn
Specifies the column at which long lines should be wrapped. A value less than or equal to zero (the default) indicates that no wrapping should be performed.- Parameters:
wrapColumn
- The column at which long lines should be wrapped.- Returns:
- A reference to this
LdifEntryWriter
.
-
writeComment
Description copied from interface:EntryWriter
Writes a comment.- Specified by:
writeComment
in interfaceEntryWriter
- Parameters:
comment
- TheCharSequence
to be written as a comment.- Returns:
- A reference to this entry writer.
- Throws:
IOException
- If an unexpected IO error occurred while writing the comment.
-
writeEntry
Description copied from interface:EntryWriter
Writes an entry.- Specified by:
writeEntry
in interfaceEntryWriter
- Parameters:
entry
- TheEntry
to be written.- Returns:
- A reference to this entry writer.
- Throws:
IOException
- If an unexpected IO error occurred while writing the entry.
-
getSkippedCount
public long getSkippedCount()Returns the number of entries provided towriteEntry(Entry)
which have been ignored because they were excluded by the writer's filtering configuration.- Returns:
- the number of skipped entries
-
getWrittenCount
public long getWrittenCount()Returns the number of entries provided towriteEntry(Entry)
which have been written to the LDIF output file.- Returns:
- the number of entries written to the LDIF output file
-