Class InteractiveTransactionSpecificationRequestControl
- java.lang.Object
-
- com.unboundid.ldap.sdk.Control
-
- com.unboundid.ldap.sdk.unboundidds.controls.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 previousStartInteractiveTransactionExtendedResult
.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 befalse
only for read operations in which it is known that the target entry will not be altered by a subsequent operation.
StartInteractiveTransactionExtendedRequest
class for an example of processing an interactive transaction.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description 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
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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 benull
.
-
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 benull
.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 befalse
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, orfalse
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, orfalse
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 classControl
- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
-