@NotExtensible @ThreadSafety(level=INTERFACE_THREADSAFE) public abstract class LDIFChangeRecord extends java.lang.Object implements LDIFRecord
LDIFReader ldifReader = new LDIFReader(pathToLDIFFile); int changesRead = 0; int changesProcessed = 0; int errorsEncountered = 0; while (true) { LDIFChangeRecord changeRecord; try { changeRecord = ldifReader.readChangeRecord(); if (changeRecord == null) { // All changes have been processed. break; } changesRead++; } catch (LDIFException le) { errorsEncountered++; if (le.mayContinueReading()) { // A recoverable error occurred while attempting to read a change // record, at or near line number le.getLineNumber() // The change record will be skipped, but we'll try to keep reading // from the LDIF file. continue; } else { // An unrecoverable error occurred while attempting to read a change // record, at or near line number le.getLineNumber() // No further LDIF processing will be performed. break; } } catch (IOException ioe) { // An I/O error occurred while attempting to read from the LDIF file. // No further LDIF processing will be performed. errorsEncountered++; break; } // Try to process the change in a directory server. LDAPResult operationResult; try { operationResult = changeRecord.processChange(connection); // If we got here, then the change should have been processed // successfully. changesProcessed++; } catch (LDAPException le) { // If we got here, then the change attempt failed. operationResult = le.toLDAPResult(); errorsEncountered++; } } ldifReader.close();
Modifier | Constructor and Description |
---|---|
protected |
LDIFChangeRecord(java.lang.String dn,
java.util.List<Control> controls)
Creates a new LDIF change record with the provided DN.
|
Modifier and Type | Method and Description |
---|---|
abstract LDIFChangeRecord |
duplicate(Control... controls)
Creates a duplicate of this LDIF change record with the provided set of
controls.
|
abstract boolean |
equals(java.lang.Object o)
Indicates whether the provided object is equal to this LDIF change record.
|
abstract ChangeType |
getChangeType()
Retrieves the type of operation represented by this LDIF change record.
|
java.util.List<Control> |
getControls()
Retrieves the set of controls for this LDIF change record.
|
java.lang.String |
getDN()
Retrieves the DN for this LDIF change record.
|
DN |
getParsedDN()
Retrieves the parsed DN for this LDIF change record.
|
abstract int |
hashCode()
Retrieves a hash code for this change record.
|
LDAPResult |
processChange(LDAPInterface connection)
Apply the change represented by this LDIF change record to a directory
server using the provided connection.
|
abstract LDAPResult |
processChange(LDAPInterface connection,
boolean includeControls)
Apply the change represented by this LDIF change record to a directory
server using the provided connection, optionally including any change
record controls in the request.
|
java.lang.String[] |
toLDIF()
Retrieves a string array whose lines contain an LDIF representation of this
change record.
|
void |
toLDIF(ByteStringBuffer buffer)
Appends an LDIF string representation of this change record to the provided
buffer.
|
abstract void |
toLDIF(ByteStringBuffer buffer,
int wrapColumn)
Appends an LDIF string representation of this change record to the provided
buffer.
|
abstract java.lang.String[] |
toLDIF(int wrapColumn)
Retrieves a string array whose lines contain an LDIF representation of this
change record.
|
java.lang.String |
toLDIFString()
Retrieves an LDIF string representation of this change record.
|
java.lang.String |
toLDIFString(int wrapColumn)
Retrieves an LDIF string representation of this change record.
|
void |
toLDIFString(java.lang.StringBuilder buffer)
Appends an LDIF string representation of this change record to the provided
buffer.
|
abstract void |
toLDIFString(java.lang.StringBuilder buffer,
int wrapColumn)
Appends an LDIF string representation of this change record to the provided
buffer.
|
java.lang.String |
toString()
Retrieves a single-line string representation of this change record.
|
abstract void |
toString(java.lang.StringBuilder buffer)
Appends a single-line string representation of this change record to the
provided buffer.
|
protected LDIFChangeRecord(@NotNull java.lang.String dn, @Nullable java.util.List<Control> controls)
dn
- The DN of the LDIF change record to create. It must not
be null
.controls
- The set of controls for the change record to create. It
may be null
or empty if no controls are needed.@NotNull public final java.lang.String getDN()
getDN
in interface LDIFRecord
@NotNull public final DN getParsedDN() throws LDAPException
getParsedDN
in interface LDIFRecord
LDAPException
- If a problem occurs while trying to parse the DN.@NotNull public abstract ChangeType getChangeType()
@NotNull public java.util.List<Control> getControls()
@NotNull public abstract LDIFChangeRecord duplicate(@Nullable Control... controls)
controls
- The set of controls to include in the duplicate change
record. It may be null
or empty if no controls
should be included.@NotNull public final LDAPResult processChange(@NotNull LDAPInterface connection) throws LDAPException
connection
- The connection to use to apply the change.LDAPException
- If an error occurs while processing this change
in the associated directory server.@NotNull public abstract LDAPResult processChange(@NotNull LDAPInterface connection, boolean includeControls) throws LDAPException
connection
- The connection to use to apply the change.includeControls
- Indicates whether to include any controls in the
request.LDAPException
- If an error occurs while processing this change
in the associated directory server.@NotNull public final java.lang.String[] toLDIF()
toLDIF
in interface LDIFRecord
@NotNull public abstract java.lang.String[] toLDIF(int wrapColumn)
toLDIF
in interface LDIFRecord
wrapColumn
- The column at which to wrap long lines. A value that
is less than or equal to two indicates that no
wrapping should be performed.public final void toLDIF(@NotNull ByteStringBuffer buffer)
toLDIF
in interface LDIFRecord
buffer
- The buffer to which to append an LDIF representation of
this change record.public abstract void toLDIF(@NotNull ByteStringBuffer buffer, int wrapColumn)
toLDIF
in interface LDIFRecord
buffer
- The buffer to which to append an LDIF representation of
this change record.wrapColumn
- The column at which to wrap long lines. A value that
is less than or equal to two indicates that no
wrapping should be performed.@NotNull public final java.lang.String toLDIFString()
toLDIFString
in interface LDIFRecord
@NotNull public final java.lang.String toLDIFString(int wrapColumn)
toLDIFString
in interface LDIFRecord
wrapColumn
- The column at which to wrap long lines. A value that
is less than or equal to two indicates that no
wrapping should be performed.public final void toLDIFString(@NotNull java.lang.StringBuilder buffer)
toLDIFString
in interface LDIFRecord
buffer
- The buffer to which to append an LDIF representation of
this change record.public abstract void toLDIFString(@NotNull java.lang.StringBuilder buffer, int wrapColumn)
toLDIFString
in interface LDIFRecord
buffer
- The buffer to which to append an LDIF representation of
this change record.wrapColumn
- The column at which to wrap long lines. A value that
is less than or equal to two indicates that no
wrapping should be performed.public abstract int hashCode()
hashCode
in class java.lang.Object
public abstract boolean equals(@Nullable java.lang.Object o)
equals
in class java.lang.Object
o
- The object for which to make the determination.true
if the provided object is equal to this LDIF change
record, or false
if not.@NotNull public final java.lang.String toString()
toString
in interface LDIFRecord
toString
in class java.lang.Object
public abstract void toString(@NotNull java.lang.StringBuilder buffer)
toString
in interface LDIFRecord
buffer
- The buffer to which the information should be written.