@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 LDIFRecordLDAPException - 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 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(@NotNull ByteStringBuffer buffer)
toLDIF in interface LDIFRecordbuffer - 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 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.@NotNull public final java.lang.String toLDIFString()
toLDIFString in interface LDIFRecord@NotNull public 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(@NotNull 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(@NotNull 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(@Nullable 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.@NotNull public final java.lang.String toString()
toString in interface LDIFRecordtoString in class java.lang.Objectpublic abstract void toString(@NotNull java.lang.StringBuilder buffer)
toString in interface LDIFRecordbuffer - The buffer to which the information should be written.