Class 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 the 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.

    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
    • 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 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.
      • 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 be null 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 interface DecodeableControl
        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 be null 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,​UniquenessResponseControlget​(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, or false 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.
      • 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 the getPreCommitValidationResult() 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, or null if pre-commit validation was not attempted.
      • 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, or null 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 class Control
        Returns:
        The user-friendly name for this control, or the OID if no user-friendly name is available.
      • toString

        public void toString​(java.lang.StringBuilder buffer)
        Appends a string representation of this LDAP control to the provided buffer.
        Overrides:
        toString in class Control
        Parameters:
        buffer - The buffer to which to append the string representation of this buffer.