Class StartInteractiveTransactionExtendedResult
- java.lang.Object
-
- com.unboundid.ldap.sdk.LDAPResult
-
- com.unboundid.ldap.sdk.ExtendedResult
-
- com.unboundid.ldap.sdk.unboundidds.extensions.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
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.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 theAssertionRequestControl
,PreReadRequestControl
, andPostReadRequestControl
to incorporate some read capability into a transaction, and in conjunction with theModificationType.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).
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 theStartInteractiveTransactionExtendedRequest
class for an example that demonstrates the use of interactive transactions.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.unboundid.ldap.protocol.LDAPResponse
NO_CONTROLS
-
-
Constructor Summary
Constructors Constructor Description 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.StartInteractiveTransactionExtendedResult(ExtendedResult extendedResult)
Creates a new start interactive transaction extended result from the provided extended result.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<java.lang.String>
getBaseDNs()
Retrieves the list of base DNs for this start interactive transaction extended result, if available.java.lang.String
getExtendedResultName()
Retrieves the user-friendly name for the extended result, if available.ASN1OctetString
getTransactionID()
Retrieves the transaction ID for this start interactive transaction extended result, if available.void
toString(java.lang.StringBuilder buffer)
Appends a string representation of this extended response to the provided buffer.-
Methods inherited from class com.unboundid.ldap.sdk.ExtendedResult
getOID, getValue, hasValue, toString
-
Methods inherited from class com.unboundid.ldap.sdk.LDAPResult
getDiagnosticMessage, getMatchedDN, getMessageID, getReferralURLs, getResponseControl, getResponseControls, getResultCode, getResultString, hasResponseControl, hasResponseControl
-
-
-
-
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 benull
.- 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, thennull
will be returned.- Overrides:
getExtendedResultName
in classExtendedResult
- 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 interfaceLDAPResponse
- Overrides:
toString
in classExtendedResult
- Parameters:
buffer
- The buffer to which a string representation of this extended response will be appended.
-
-