Class UniquenessResponseControl
- java.lang.Object
-
- com.unboundid.ldap.sdk.Control
-
- com.unboundid.ldap.sdk.unboundidds.controls.UniquenessResponseControl
-
- All Implemented Interfaces:
DecodeableControl
,java.io.Serializable
@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class UniquenessResponseControl extends Control implements DecodeableControl
This class provides a response control that may be included in the response to add, modify, and modify DN requests that included theUniquenessRequestControl
. It provides information about the uniqueness processing that was performed.
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.
The control has an OID of 1.3.6.1.4.1.30221.2.5.53 and a criticality of false. It must have a value with the following encoding:UniquenessResponseValue ::= SEQUENCE { uniquenessID [0] OCTET STRING, preCommitValidationPassed [1] BOOLEAN OPTIONAL, postCommitValidationPassed [2] BOOLEAN OPTIONAL, validationMessage [3] OCTET STRING OPTIONAL, ... }
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
UNIQUENESS_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.53) for the uniqueness response control.
-
Constructor Summary
Constructors Constructor Description UniquenessResponseControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new uniqueness response control with the provided information.UniquenessResponseControl(java.lang.String uniquenessID, java.lang.Boolean preCommitValidationPassed, java.lang.Boolean postCommitValidationPassed, java.lang.String validationMessage)
Creates a new uniqueness response control with the provided information.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description UniquenessResponseControl
decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new instance of this decodeable control from the provided information.static java.util.Map<java.lang.String,UniquenessResponseControl>
get(LDAPResult result)
Retrieves the set of uniqueness response controls included in the provided result.java.lang.String
getControlName()
Retrieves the user-friendly name for this control, if available.java.lang.Boolean
getPostCommitValidationPassed()
Retrieves a value that indicates whether post-commit validation was attempted, and whether that validation passed.UniquenessValidationResult
getPostCommitValidationResult()
Retrieves the result of the server's post-commit validation processing.java.lang.Boolean
getPreCommitValidationPassed()
Retrieves a value that indicates whether pre-commit validation was attempted, and whether that validation passed.UniquenessValidationResult
getPreCommitValidationResult()
Retrieves the result of the server's pre-commit validation processing.java.lang.String
getUniquenessID()
Retrieves the identifier that may be used to correlate this uniqueness response control with the corresponding request control.java.lang.String
getValidationMessage()
Retrieves a message with additional information about the validation processing that was performed.void
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided buffer.boolean
uniquenessConflictFound()
Indicates whether a uniqueness conflict was found during processing.-
Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, toString, writeTo
-
-
-
-
Field Detail
-
UNIQUENESS_RESPONSE_OID
public static final java.lang.String UNIQUENESS_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.53) for the uniqueness response control.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UniquenessResponseControl
public UniquenessResponseControl(java.lang.String uniquenessID, java.lang.Boolean preCommitValidationPassed, java.lang.Boolean postCommitValidationPassed, java.lang.String validationMessage)
Creates a new uniqueness response control with the provided information.- Parameters:
uniquenessID
- The uniqueness ID that may be used to correlate this uniqueness response control with the corresponding request control. This must not benull
.preCommitValidationPassed
- Indicates whether the pre-commit validation was successful. This may benull
if no pre-commit validation was attempted.postCommitValidationPassed
- Indicates whether the post-commit validation was successful. This may benull
if no post-commit validation was attempted.validationMessage
- A message with additional information about the validation processing. This may benull
if no validation message is needed.
-
UniquenessResponseControl
public UniquenessResponseControl(java.lang.String oid, boolean isCritical, ASN1OctetString value) throws LDAPException
Creates a new uniqueness response control with the provided information.- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Throws:
LDAPException
- If the provided control cannot be decoded as a uniqueness response control.
-
-
Method Detail
-
decodeControl
public UniquenessResponseControl decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value) throws LDAPException
Creates a new instance of this decodeable control from the provided information.- Specified by:
decodeControl
in interfaceDecodeableControl
- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Returns:
- The decoded representation of this control.
- Throws:
LDAPException
- If the provided information cannot be decoded as a valid instance of this decodeable control.
-
get
public static java.util.Map<java.lang.String,UniquenessResponseControl> get(LDAPResult result) throws LDAPException
Retrieves the set of uniqueness response controls included in the provided result.- Parameters:
result
- The result to process.- Returns:
- The set of uniqueness response controls included in the provided result, indexed by uniqueness ID. It may be empty if the result does not include any uniqueness response controls.
- Throws:
LDAPException
- If a problem is encountered while getting the set of uniqueness response controls contained in the provided result.
-
uniquenessConflictFound
public boolean uniquenessConflictFound()
Indicates whether a uniqueness conflict was found during processing.- Returns:
true
if a uniqueness conflict was found during processing, orfalse
if no conflict was found or if no validation was attempted.
-
getUniquenessID
public java.lang.String getUniquenessID()
Retrieves the identifier that may be used to correlate this uniqueness response control with the corresponding request control. This is primarily useful for requests that contain multiple uniqueness controls, as there may be a separate response control for each.- Returns:
- The identifier that may be used to correlate this uniqueness response control with the corresponding request control.
-
getPreCommitValidationResult
public UniquenessValidationResult getPreCommitValidationResult()
Retrieves the result of the server's pre-commit validation processing. The same information can be inferred from thegetPreCommitValidationPassed()
method, but this method may provide a more intuitive result and does not have the possibility of anull
return value.- Returns:
UniquenessValidationResult.VALIDATION_PASSED
if the server did not find any conflicting entries during the pre-commit check,UniquenessValidationResult.VALIDATION_FAILED
if the server found at least one conflicting entry during the pre-commit check, orUniquenessValidationResult.VALIDATION_NOT_ATTEMPTED
if the server did not attempt any pre-commit validation.
-
getPreCommitValidationPassed
public java.lang.Boolean getPreCommitValidationPassed()
Retrieves a value that indicates whether pre-commit validation was attempted, and whether that validation passed. Note that this method is still supported and is not deprecated at this time, but thegetPreCommitValidationResult()
is now the recommended way to get this information.- Returns:
Boolean.TRUE
if pre-commit validation was attempted and passed,Boolean.FALSE
if pre-commit validation was attempted and did not pass, ornull
if pre-commit validation was not attempted.
-
getPostCommitValidationResult
public UniquenessValidationResult getPostCommitValidationResult()
Retrieves the result of the server's post-commit validation processing. The same information can be inferred from thegetPostCommitValidationPassed()
method, but this method may provide a more intuitive result and does not have the possibility of anull
return value.- Returns:
UniquenessValidationResult.VALIDATION_PASSED
if the server did not find any conflicting entries during the post-commit check,UniquenessValidationResult.VALIDATION_FAILED
if the server found at least one conflicting entry during the post-commit check, orUniquenessValidationResult.VALIDATION_NOT_ATTEMPTED
if the server did not attempt any post-commit validation.
-
getPostCommitValidationPassed
public java.lang.Boolean getPostCommitValidationPassed()
Retrieves a value that indicates whether post-commit validation was attempted, and whether that validation passed.- Returns:
Boolean.TRUE
if post-commit validation was attempted and passed,Boolean.FALSE
if post-commit validation was attempted and did not pass, ornull
if post-commit validation was not attempted.
-
getValidationMessage
public java.lang.String getValidationMessage()
Retrieves a message with additional information about the validation processing that was performed.- Returns:
- A message with additional information about the validation
processing that was performed, or
null
if no validation message is available.
-
getControlName
public java.lang.String getControlName()
Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.- Overrides:
getControlName
in classControl
- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
-