@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class PermissiveModifyRequestControl extends Control
// Ensure that we start with a known description value in the test entry
// by using a replace to overwrite any existing value(s).
ModifyRequest replaceRequest = new ModifyRequest(
"uid=test.user,ou=People,dc=example,dc=com",
new Modification(ModificationType.REPLACE, "description", "value"));
LDAPResult replaceResult = connection.modify(replaceRequest);
// Create a modify request that will attempt to add the value that already
// exists. If we attempt to do this without the permissive modify control,
// the attempt should fail.
ModifyRequest addExistingValueRequest = new ModifyRequest(
"uid=test.user,ou=People,dc=example,dc=com",
new Modification(ModificationType.ADD, "description", "value"));
LDAPResult addExistingValueResultWithoutControl;
try
{
addExistingValueResultWithoutControl =
connection.modify(addExistingValueRequest);
// We shouldn't get here because the attempt to add the existing value
// should fail.
}
catch (LDAPException le)
{
// We expected this failure because the value we're trying to add already
// exists in the entry.
addExistingValueResultWithoutControl = le.toLDAPResult();
ResultCode resultCode = le.getResultCode();
String errorMessageFromServer = le.getDiagnosticMessage();
}
// Update the modify request to include the permissive modify request
// control, and re-send the request. The operation should now succeed.
addExistingValueRequest.addControl(new PermissiveModifyRequestControl());
LDAPResult addExistingValueResultWithControl;
try
{
addExistingValueResultWithControl =
connection.modify(addExistingValueRequest);
// If we've gotten here, then the modification was successful.
}
catch (LDAPException le)
{
// If we've gotten here, then the modification failed for some reason.
addExistingValueResultWithControl = le.toLDAPResult();
ResultCode resultCode = le.getResultCode();
String errorMessageFromServer = le.getDiagnosticMessage();
}
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
PERMISSIVE_MODIFY_REQUEST_OID
The OID (1.2.840.113556.1.4.1413) for the permissive modify request
control.
|
| Constructor and Description |
|---|
PermissiveModifyRequestControl()
Creates a new permissive modify request control.
|
PermissiveModifyRequestControl(boolean isCritical)
Creates a new permissive modify request control.
|
PermissiveModifyRequestControl(Control control)
Creates a new permissive modify request control which is decoded from the
provided generic control.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided
buffer.
|
decode, decode, decodeControls, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, toString, writeTopublic static final java.lang.String PERMISSIVE_MODIFY_REQUEST_OID
public PermissiveModifyRequestControl()
public PermissiveModifyRequestControl(boolean isCritical)
isCritical - Indicates whether the control should be marked
critical.public PermissiveModifyRequestControl(Control control) throws LDAPException
control - The generic control to be decoded as a permissive modify
request control.LDAPException - If the provided control cannot be decoded as a
permissive modify request control.public java.lang.String getControlName()
getControlName in class Control