@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class UniquenessResponseControl extends Control implements DecodeableControl
UniquenessRequestControl
. 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.
UniquenessResponseValue ::= SEQUENCE { uniquenessID [0] OCTET STRING, preCommitValidationPassed [1] BOOLEAN OPTIONAL, postCommitValidationPassed [2] BOOLEAN OPTIONAL, validationMessage [3] OCTET STRING OPTIONAL, ... }
Modifier and Type | Field and 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 and 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.
|
Modifier and Type | Method and Description |
---|---|
UniquenessResponseControl |
decodeControl(java.lang.String oid,
boolean isCritical,
ASN1OctetString value)
Creates a new instance of this decodeable control from the provided
information.
|
static UniquenessResponseControl |
decodeJSONControl(JSONObject controlObject,
boolean strict)
Attempts to decode the provided object as a JSON representation of a
uniqueness response control.
|
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.
|
JSONObject |
toJSONControl()
Retrieves a representation of this uniqueness response control as a JSON
object.
|
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.
|
decode, decode, decodeControls, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
@NotNull public static final java.lang.String UNIQUENESS_RESPONSE_OID
public UniquenessResponseControl(@NotNull java.lang.String uniquenessID, @Nullable java.lang.Boolean preCommitValidationPassed, @Nullable java.lang.Boolean postCommitValidationPassed, @Nullable java.lang.String validationMessage)
uniquenessID
- The uniqueness ID that may be used to
correlate this uniqueness response
control with the corresponding request
control. This must not be
null
.preCommitValidationPassed
- Indicates whether the pre-commit
validation was successful. This may be
null
if no pre-commit
validation was attempted.postCommitValidationPassed
- Indicates whether the post-commit
validation was successful. This may be
null
if no post-commit
validation was attempted.validationMessage
- A message with additional information
about the validation processing. This
may be null
if no validation
message is needed.public UniquenessResponseControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked
critical.value
- The encoded value for the control. This may be
null
if no value was provided.LDAPException
- If the provided control cannot be decoded as a
uniqueness response control.@NotNull public UniquenessResponseControl decodeControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
decodeControl
in interface DecodeableControl
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked
critical.value
- The encoded value for the control. This may be
null
if no value was provided.LDAPException
- If the provided information cannot be decoded as a
valid instance of this decodeable control.@NotNull public static java.util.Map<java.lang.String,UniquenessResponseControl> get(@NotNull LDAPResult result) throws LDAPException
result
- The result to process.LDAPException
- If a problem is encountered while getting the set
of uniqueness response controls contained in the
provided result.public boolean uniquenessConflictFound()
true
if a uniqueness conflict was found during processing,
or false
if no conflict was found or if no validation was
attempted.@NotNull public java.lang.String getUniquenessID()
@NotNull public UniquenessValidationResult getPreCommitValidationResult()
getPreCommitValidationPassed()
method, but this method may provide
a more intuitive result and does not have the possibility of a null
return value.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, or
UniquenessValidationResult.VALIDATION_NOT_ATTEMPTED
if
the server did not attempt any pre-commit validation.@Nullable public java.lang.Boolean getPreCommitValidationPassed()
getPreCommitValidationResult()
is now the recommended way to get
this information.Boolean.TRUE
if pre-commit validation was attempted and
passed, Boolean.FALSE
if pre-commit validation was
attempted and did not pass, or null
if pre-commit
validation was not attempted.@NotNull public UniquenessValidationResult getPostCommitValidationResult()
getPostCommitValidationPassed()
method, but this method may
provide a more intuitive result and does not have the possibility of a
null
return value.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, or
UniquenessValidationResult.VALIDATION_NOT_ATTEMPTED
if
the server did not attempt any post-commit validation.@Nullable public java.lang.Boolean getPostCommitValidationPassed()
Boolean.TRUE
if post-commit validation was attempted and
passed, Boolean.FALSE
if post-commit validation was
attempted and did not pass, or null
if post-commit
validation was not attempted.@Nullable public java.lang.String getValidationMessage()
null
if no validation
message is available.@NotNull public java.lang.String getControlName()
getControlName
in class Control
@NotNull public JSONObject toJSONControl()
oid
-- A mandatory string field whose value is the object
identifier for this control. For the uniqueness response control, the
OID is "1.3.6.1.4.1.30221.2.5.53".
control-name
-- An optional string field whose value is a
human-readable name for this control. This field is only intended for
descriptive purposes, and when decoding a control, the oid
field should be used to identify the type of control.
criticality
-- A mandatory Boolean field used to indicate
whether this control is considered critical.
value-base64
-- An optional string field whose value is a
base64-encoded representation of the raw value for this uniqueness
response control. Exactly one of the value-base64
and
value-json
fields must be present.
value-json
-- An optional JSON object field whose value is a
user-friendly representation of the value for this uniqueness response
control. Exactly one of the value-base64
and
value-json
fields must be present, and if the
value-json
field is used, then it will use the following
fields:
uniqueness-id
-- A string field whose value is the
uniqueness ID from the uniqueness request control with which this
response control is associated.
pre-commit-validation-passed
-- An optional Boolean field
that indicates whether pre-commit validation passed without
identifying any conflicts.
post-commit-validation-passed
-- An optional Boolean field
that indicates whether post-commit validation passed without
identifying any conflicts.
validation-message
-- An optional String field whose value
is a message with additional information about the uniqueness
processing.
toJSONControl
in class Control
@NotNull public static UniquenessResponseControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException
controlObject
- The JSON object to be decoded. It must not be
null
.strict
- Indicates whether to use strict mode when decoding
the provided JSON object. If this is true
,
then this method will throw an exception if the
provided JSON object contains any unrecognized
fields. If this is false
, then unrecognized
fields will be ignored.LDAPException
- If the provided JSON object cannot be parsed as a
valid uniqueness response control.