com.unboundid.ldap.sdk.unboundidds.controls
Class InteractiveTransactionSpecificationRequestControl

java.lang.Object
  extended by com.unboundid.ldap.sdk.Control
      extended by com.unboundid.ldap.sdk.unboundidds.controls.InteractiveTransactionSpecificationRequestControl
All Implemented Interfaces:
java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class InteractiveTransactionSpecificationRequestControl
extends Control

NOTE: This class is part of the Commercial Edition of the UnboundID LDAP SDK for Java. It is not available for use in applications that include only the Standard Edition of the LDAP SDK, and is not supported for use in conjunction with non-UnboundID products.
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.

The elements of the interactive transaction specification request control may include: See the documentation for the StartInteractiveTransactionExtendedRequest class for an example of processing an interactive transaction.

See Also:
Serialized Form

Field Summary
static java.lang.String INTERACTIVE_TRANSACTION_SPECIFICATION_REQUEST_OID
          The OID (1.3.6.1.4.1.30221.2.5.4) for the interactive transaction specification request control.
 
Constructor Summary
InteractiveTransactionSpecificationRequestControl(ASN1OctetString transactionID)
          Creates a new interactive transaction specification request control with the provided transaction ID.
InteractiveTransactionSpecificationRequestControl(ASN1OctetString transactionID, boolean abortOnFailure, boolean writeLock)
          Creates a new interactive transaction specification request control with the provided information.
InteractiveTransactionSpecificationRequestControl(Control control)
          Creates a new interactive transaction specification request control which is decoded from the provided generic control.
 
Method Summary
 boolean abortOnFailure()
          Indicates whether the transaction should be aborted if the associated operation does not complete successfully.
 java.lang.String getControlName()
          Retrieves the user-friendly name for this control, if available.
 ASN1OctetString getTransactionID()
          Retrieves the transaction ID for the associated transaction.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this LDAP control to the provided buffer.
 boolean writeLock()
          Indicates whether the server should attempt to obtain a write lock on entries targeted by the associated operation.
 
Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, toString, writeTo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

INTERACTIVE_TRANSACTION_SPECIFICATION_REQUEST_OID

public static final java.lang.String INTERACTIVE_TRANSACTION_SPECIFICATION_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.4) for the interactive transaction specification request control.

See Also:
Constant Field Values
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.