@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(java.lang.String dn, 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.public final java.lang.String getDN()
getDN in interface LDIFRecordpublic final DN getParsedDN() throws LDAPException
getParsedDN in interface LDIFRecordLDAPException - If a problem occurs while trying to parse the DN.public abstract ChangeType getChangeType()
public java.util.List<Control> getControls()
public abstract LDIFChangeRecord duplicate(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.public final LDAPResult processChange(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.public abstract LDAPResult processChange(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.public final java.lang.String[] toLDIF()
toLDIF in interface LDIFRecordpublic abstract java.lang.String[] toLDIF(int wrapColumn)
toLDIF in interface LDIFRecordwrapColumn - 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(ByteStringBuffer buffer)
toLDIF in interface LDIFRecordbuffer - The buffer to which to append an LDIF representation of
this change record.public abstract void toLDIF(ByteStringBuffer buffer, int wrapColumn)
toLDIF in interface LDIFRecordbuffer - 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 final java.lang.String toLDIFString()
toLDIFString in interface LDIFRecordpublic final java.lang.String toLDIFString(int wrapColumn)
toLDIFString in interface LDIFRecordwrapColumn - 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(java.lang.StringBuilder buffer)
toLDIFString in interface LDIFRecordbuffer - The buffer to which to append an LDIF representation of
this change record.public abstract void toLDIFString(java.lang.StringBuilder buffer, int wrapColumn)
toLDIFString in interface LDIFRecordbuffer - 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.Objectpublic abstract boolean equals(java.lang.Object o)
equals in class java.lang.Objecto - The object for which to make the determination.true if the provided object is equal to this LDIF change
record, or false if not.public final java.lang.String toString()
toString in interface LDIFRecordtoString in class java.lang.Objectpublic abstract void toString(java.lang.StringBuilder buffer)
toString in interface LDIFRecordbuffer - The buffer to which the information should be written.