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

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

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class InteractiveTransactionSpecificationResponseControl
extends Control
implements DecodeableControl

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 defines an interactive transaction specification response control, which will be included in the server's response to an operation that included the InteractiveTransactionSpecificationRequestControl. It provides information about the state of the transaction, which may include: See the documentation in the StartInteractiveTransactionExtendedRequest class for an example of processing interactive transactions.

See Also:
Serialized Form

Field Summary
static java.lang.String INTERACTIVE_TRANSACTION_SPECIFICATION_RESPONSE_OID
          The OID (1.3.6.1.4.1.30221.2.5.4) for the interactive transaction specification response control.
 
Constructor Summary
InteractiveTransactionSpecificationResponseControl(boolean transactionValid, java.util.List<java.lang.String> baseDNs)
          Creates a new interactive transaction specification response control with the provided information.
InteractiveTransactionSpecificationResponseControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
          Creates a new interactive transaction specification response control with the provided information.
 
Method Summary
 InteractiveTransactionSpecificationResponseControl decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
          Creates a new instance of this decodeable control from the provided information.
static InteractiveTransactionSpecificationResponseControl get(LDAPResult result)
          Extracts an interactive transaction specification response control from the provided result.
 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.
 java.lang.String getControlName()
          Retrieves the user-friendly name for this control, if available.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this LDAP control to the provided buffer.
 boolean transactionValid()
          Indicates whether the associated transaction is still valid on the server.
 
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_RESPONSE_OID

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

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