Class LDIFChangeRecordWriter

java.lang.Object
org.forgerock.opendj.ldif.LDIFChangeRecordWriter
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, ChangeRecordWriter

public final class LDIFChangeRecordWriter extends Object implements ChangeRecordWriter
An LDIF change record writer writes change records using the LDAP Data Interchange Format (LDIF) to a user defined destination.

The following example reads changes from LDIF, and writes the changes to the directory server.

 InputStream ldif = ...;
 LDIFChangeRecordReader reader = new LDIFChangeRecordReader(ldif);

 Connection connection = ...;
 connection.bind(...);

 ConnectionChangeRecordWriter writer =
         new ConnectionChangeRecordWriter(connection);
 while (reader.hasNext()) {
     ChangeRecord changeRecord = reader.readChangeRecord();
     writer.writeChangeRecord(changeRecord);
 }
 
See Also:
  • Constructor Details

    • LDIFChangeRecordWriter

      public LDIFChangeRecordWriter(List<String> ldifLines)
      Creates a new LDIF change record writer which will append lines of LDIF to the provided list.
      Parameters:
      ldifLines - The list to which lines of LDIF should be appended.
    • LDIFChangeRecordWriter

      Creates a new LDIF change record writer whose destination is the provided output stream.
      Parameters:
      out - The output stream to use.
    • LDIFChangeRecordWriter

      Creates a new LDIF change record writer whose destination is the provided character stream writer.
      Parameters:
      writer - The character stream writer to use.
  • Method Details

    • toString

      public static String toString(ChangeRecord change)
      Returns the LDIF string representation of the provided change record.
      Parameters:
      change - The change record.
      Returns:
      The LDIF string representation of the provided change record.
    • close

      public void close() throws IOException
      Description copied from interface: ChangeRecordWriter
      Closes this change record writer, flushing it first. Closing a previously closed change record writer has no effect.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface ChangeRecordWriter
      Specified by:
      close in interface Closeable
      Throws:
      IOException - If an unexpected IO error occurred while closing.
    • flush

      public void flush() throws IOException
      Description copied from interface: ChangeRecordWriter
      Flushes this change record writer so that any buffered data is written immediately to underlying stream, flushing the stream if it is also Flushable.

      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 interface ChangeRecordWriter
      Specified by:
      flush in interface Flushable
      Throws:
      IOException - If an unexpected IO error occurred while flushing.
    • setAddUserFriendlyComments

      public LDIFChangeRecordWriter 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. The default is false.
      Parameters:
      addUserFriendlyComments - true if user-friendly comments should be added, or false otherwise.
      Returns:
      A reference to this LDIFEntryWriter.
    • setExcludeAllOperationalAttributes

      public LDIFChangeRecordWriter setExcludeAllOperationalAttributes(boolean excludeOperationalAttributes)
      Specifies whether all operational attributes should be excluded from any change records that are written to LDIF. The default is false.
      Parameters:
      excludeOperationalAttributes - true if all operational attributes should be excluded, or false otherwise.
      Returns:
      A reference to this LDIFChangeRecordWriter.
    • setExcludeAllUserAttributes

      public LDIFChangeRecordWriter setExcludeAllUserAttributes(boolean excludeUserAttributes)
      Specifies whether all user attributes should be excluded from any change records that are written to LDIF. The default is false.
      Parameters:
      excludeUserAttributes - true if all user attributes should be excluded, or false otherwise.
      Returns:
      A reference to this LDIFChangeRecordWriter.
    • setExcludeAttribute

      Excludes the named attribute from any change records 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 LDIFChangeRecordWriter.
    • setExcludeBranch

      public LDIFChangeRecordWriter setExcludeBranch(DN excludeBranch)
      Excludes all change records which target entries beneath the named entry (inclusive) from being written to LDIF. By default all change records are written unless explicitly excluded or included.
      Parameters:
      excludeBranch - The distinguished name of the branch to be excluded.
      Returns:
      A reference to this LDIFChangeRecordWriter.
    • setIncludeAttribute

      Ensures that the named attribute is not excluded from any change records 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 LDIFChangeRecordWriter.
    • setIncludeBranch

      public LDIFChangeRecordWriter setIncludeBranch(DN includeBranch)
      Ensures that all change records which target entries beneath the named entry (inclusive) are written to LDIF. By default all change records are written unless explicitly excluded or included.
      Parameters:
      includeBranch - The distinguished name of the branch to be included.
      Returns:
      A reference to this LDIFChangeRecordWriter.
    • setWrapColumn

      public LDIFChangeRecordWriter setWrapColumn(int wrapColumn)
      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.
    • writeChangeRecord

      Description copied from interface: ChangeRecordWriter
      Writes an Add change record.
      Specified by:
      writeChangeRecord in interface ChangeRecordWriter
      Parameters:
      change - The AddRequest to be written as an Add change record.
      Returns:
      A reference to this change record writer.
      Throws:
      IOException - If an unexpected IO error occurred while writing the change record.
    • writeChangeRecord

      Description copied from interface: ChangeRecordWriter
      Writes a change record.
      Specified by:
      writeChangeRecord in interface ChangeRecordWriter
      Parameters:
      change - The ChangeRecord to be written.
      Returns:
      A reference to this change record writer.
      Throws:
      IOException - If an unexpected IO error occurred while writing the change record.
    • writeChangeRecord

      Description copied from interface: ChangeRecordWriter
      Writes a Delete change record.
      Specified by:
      writeChangeRecord in interface ChangeRecordWriter
      Parameters:
      change - The DeleteRequest to be written as an Delete change record.
      Returns:
      A reference to this change record writer.
      Throws:
      IOException - If an unexpected IO error occurred while writing the change record.
    • writeChangeRecord

      Description copied from interface: ChangeRecordWriter
      Writes a ModifyDN change record.
      Specified by:
      writeChangeRecord in interface ChangeRecordWriter
      Parameters:
      change - The ModifyDNRequest to be written as an ModifyDN change record.
      Returns:
      A reference to this change record writer.
      Throws:
      IOException - If an unexpected IO error occurred while writing the change record.
    • writeChangeRecord

      Description copied from interface: ChangeRecordWriter
      Writes a Modify change record.
      Specified by:
      writeChangeRecord in interface ChangeRecordWriter
      Parameters:
      change - The ModifyRequest to be written as an Modify change record.
      Returns:
      A reference to this change record writer.
      Throws:
      IOException - If an unexpected IO error occurred while writing the change record.
    • writeComment

      Description copied from interface: ChangeRecordWriter
      Writes a comment.
      Specified by:
      writeComment in interface ChangeRecordWriter
      Parameters:
      comment - The CharSequence to be written as a comment.
      Returns:
      A reference to this change record writer.
      Throws:
      IOException - If an unexpected IO error occurred while writing the comment.
    • containsChanges

      public boolean containsChanges()
      Returns true if changes has already been written in this LDIFChangeRecordWriter.
      Returns:
      true if changes has already been written in this LDIFChangeRecordWriter