Class InteractiveTransactionSpecificationResponseControl

  • All Implemented Interfaces:
    DecodeableControl, java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class InteractiveTransactionSpecificationResponseControl
    extends Control
    implements DecodeableControl
    This class defines an interactive transaction specification response control, which will be included in the server's response to an operation that included the InteractiveTransactionSpecificationRequestControl.
    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.

    It provides information about the state of the transaction, which may include:
    • transactionValid -- Indicates whether the transaction is still valid in the server. This should be checked if the associated operation did not complete successfully.
    • baseDNs -- This may specify the set of base DNs below which the client is allowed to request operations as part of this transaction. It may be absent if there are no restrictions on which base DNs may be used, or if it has not changed since the last response within this transaction.
    See the documentation in the StartInteractiveTransactionExtendedRequest class for an example of processing interactive transactions.
    See Also:
    Serialized Form
    • Constructor Detail

      • InteractiveTransactionSpecificationResponseControl

        public InteractiveTransactionSpecificationResponseControl​(boolean transactionValid,
                                                                  java.util.List<java.lang.String> baseDNs)
        Creates a new interactive transaction specification response control with the provided information. It will not be marked critical.
        Parameters:
        transactionValid - Indicates whether the associated transaction is still valid.
        baseDNs - The set of base DNs that may be targeted over the course of the transaction. It may be null if there are no restrictions or the set of restrictions has not changed since the last response.
      • InteractiveTransactionSpecificationResponseControl

        public InteractiveTransactionSpecificationResponseControl​(java.lang.String oid,
                                                                  boolean isCritical,
                                                                  ASN1OctetString value)
                                                           throws LDAPException
        Creates a new interactive transaction specification 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 an interactive transaction specification response control.
    • Method Detail

      • decodeControl

        public InteractiveTransactionSpecificationResponseControl 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 InteractiveTransactionSpecificationResponseControl get​(LDAPResult result)
                                                                      throws LDAPException
        Extracts an interactive transaction specification response control from the provided result.
        Parameters:
        result - The result from which to retrieve the interactive transaction specification response control.
        Returns:
        The interactive transaction specification response control contained in the provided result, or null if the result did not contain an interactive transaction specification response control.
        Throws:
        LDAPException - If a problem is encountered while attempting to decode the interactive transaction specification response control contained in the provided result.
      • transactionValid

        public boolean transactionValid()
        Indicates whether the associated transaction is still valid on the server.
        Returns:
        true if the associated transaction is still valid on the server and may be used for future operations, or false if the transaction has been aborted and may no longer be used.
      • getBaseDNs

        public java.util.List<java.lang.String> getBaseDNs()
        Retrieves the set of base DNs below which operations which are part of the transaction may be performed.
        Returns:
        The set of base DNs below which operations may be performed as part of the transaction, or null if there are no restrictions or if the set of restrictions has not changed since the last response.
      • 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.