Class StartInteractiveTransactionExtendedResult

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

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class StartInteractiveTransactionExtendedResult
    extends ExtendedResult
    NOTE: The use of interactive transactions is discouraged because it can create conditions which are prone to deadlocks between operations that may result in the cancellation of one or both operations. It is strongly recommended that standard LDAP transactions (which may be started using a StartTransactionExtendedRequest) or a multi-update extended operation be used instead. Although they cannot include arbitrary read operations, LDAP transactions and multi-update operations may be used in conjunction with the AssertionRequestControl, PreReadRequestControl, and PostReadRequestControl to incorporate some read capability into a transaction, and in conjunction with the ModificationType.INCREMENT modification type to increment integer values without the need to know the precise value before or after the operation (although the pre-read and/or post-read controls may be used to determine that).
    This class implements a data structure for storing the information from an extended result for the start interactive transaction extended request. It is able to decode a generic extended result to extract the transaction ID and base DNs that it may contain, if the operation was successful.
    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.

    See the documentation for the StartInteractiveTransactionExtendedRequest class for an example that demonstrates the use of interactive transactions.
    See Also:
    Serialized Form
    • Constructor Detail

      • StartInteractiveTransactionExtendedResult

        public StartInteractiveTransactionExtendedResult​(ExtendedResult extendedResult)
                                                  throws LDAPException
        Creates a new start interactive transaction extended result from the provided extended result.
        Parameters:
        extendedResult - The extended result to be decoded as a start interactive transaction extended result. It must not be null.
        Throws:
        LDAPException - If a problem occurs while attempting to decode the provided extended result as a start interactive transaction extended result.
      • StartInteractiveTransactionExtendedResult

        public StartInteractiveTransactionExtendedResult​(int messageID,
                                                         ResultCode resultCode,
                                                         java.lang.String diagnosticMessage,
                                                         java.lang.String matchedDN,
                                                         java.lang.String[] referralURLs,
                                                         ASN1OctetString transactionID,
                                                         java.util.List<java.lang.String> baseDNs,
                                                         Control[] responseControls)
        Creates a new start interactive transaction extended result with the provided information.
        Parameters:
        messageID - The message ID for the LDAP message that is associated with this LDAP result.
        resultCode - The result code from the response.
        diagnosticMessage - The diagnostic message from the response, if available.
        matchedDN - The matched DN from the response, if available.
        referralURLs - The set of referral URLs from the response, if available.
        transactionID - The transaction ID for this response, if available.
        baseDNs - The list of base DNs for this response, if available.
        responseControls - The set of controls from the response, if available.
    • Method Detail

      • getTransactionID

        public ASN1OctetString getTransactionID()
        Retrieves the transaction ID for this start interactive transaction extended result, if available.
        Returns:
        The transaction ID for this start interactive transaction extended result, or null if none was provided.
      • getBaseDNs

        public java.util.List<java.lang.String> getBaseDNs()
        Retrieves the list of base DNs for this start interactive transaction extended result, if available.
        Returns:
        The list of base DNs for this start interactive transaction extended result, or null if no base DN list was provided.
      • getExtendedResultName

        public java.lang.String getExtendedResultName()
        Retrieves the user-friendly name for the extended result, if available. If no user-friendly name has been defined, but a response OID is available, then that will be returned. If neither a user-friendly name nor a response OID are available, then null will be returned.
        Overrides:
        getExtendedResultName in class ExtendedResult
        Returns:
        The user-friendly name for this extended request, the response OID if a user-friendly name is not available but a response OID is, or null if neither a user-friendly name nor a response OID are available.
      • toString

        public void toString​(java.lang.StringBuilder buffer)
        Appends a string representation of this extended response to the provided buffer.
        Specified by:
        toString in interface LDAPResponse
        Overrides:
        toString in class ExtendedResult
        Parameters:
        buffer - The buffer to which a string representation of this extended response will be appended.