Class InteractiveTransactionSpecificationRequestControl

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class InteractiveTransactionSpecificationRequestControl
    extends Control
    This class provides an implementation of the interactive transaction specification request control, which may be used to indicate that the associated operation is part of an interactive transaction. It may be used in conjunction with add, compare, delete, modify, modify DN, and search requests, as well as some types of extended requests. The transaction should be created with the start interactive transaction extended request, and the end interactive transaction extended request may be used to commit or abort the associated transaction.
    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 elements of the interactive transaction specification request control may include:
    • txnID -- The transaction ID for the transaction, which was obtained from a previous StartInteractiveTransactionExtendedResult.
    • abortOnFailure -- Indicates whether the transaction should be aborted if the request associated with this control does not complete successfully.
    • writeLock -- Indicates whether the target entry may be altered by this or a subsequent operation which is part of the transaction. It should generally be false only for read operations in which it is known that the target entry will not be altered by a subsequent operation.
    See the documentation for the StartInteractiveTransactionExtendedRequest class for an example of processing an interactive transaction.
    See Also:
    Serialized Form
    • Constructor Detail

      • InteractiveTransactionSpecificationRequestControl

        public InteractiveTransactionSpecificationRequestControl​(ASN1OctetString transactionID)
        Creates a new interactive transaction specification request control with the provided transaction ID. The server will attempt to keep the transaction active in the event of a failure and will obtain write locks on targeted entries.
        Parameters:
        transactionID - The transaction ID for the associated transaction, as obtained from the start interactive transaction extended operation. It must not be null.
      • InteractiveTransactionSpecificationRequestControl

        public InteractiveTransactionSpecificationRequestControl​(ASN1OctetString transactionID,
                                                                 boolean abortOnFailure,
                                                                 boolean writeLock)
        Creates a new interactive transaction specification request control with the provided information.
        Parameters:
        transactionID - The transaction ID for the associated transaction, as obtained from the start interactive transaction extended operation. It must not be null.
        abortOnFailure - Indicates whether the transaction should be aborted if the associated operation does not complete successfully.
        writeLock - Indicates whether the server should attempt to obtain a write lock on the target entry. This should only be false if the associated operation is a search or compare and it is known that the target entry will not be updated later in the transaction.
      • InteractiveTransactionSpecificationRequestControl

        public InteractiveTransactionSpecificationRequestControl​(Control control)
                                                          throws LDAPException
        Creates a new interactive transaction specification request control which is decoded from the provided generic control.
        Parameters:
        control - The generic control to be decoded as an interactive transaction specification request control.
        Throws:
        LDAPException - If the provided control cannot be decoded as an interactive transaction specification request control.
    • Method Detail

      • getTransactionID

        public ASN1OctetString getTransactionID()
        Retrieves the transaction ID for the associated transaction.
        Returns:
        The transaction ID for the associated transaction.
      • abortOnFailure

        public boolean abortOnFailure()
        Indicates whether the transaction should be aborted if the associated operation does not complete successfully.
        Returns:
        true if the transaction should be aborted if the associated operation does not complete successfully, or false if the server should attempt to keep the transaction active if the associated operation does not complete successfully.
      • writeLock

        public boolean writeLock()
        Indicates whether the server should attempt to obtain a write lock on entries targeted by the associated operation.
        Returns:
        true if the server should attempt to obtain a write lock on entries targeted by the associated operation, or false if a read lock is acceptable as the entries are not expected to be altered later in the transaction.
      • 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.