@NotMutable @ThreadSafety(level=NOT_THREADSAFE) public final class CancelExtendedRequest extends ExtendedRequest
Modification mod = new Modification(ModificationType.REPLACE,
"description", "This is the new description.");
ModifyRequest modifyRequest =
new ModifyRequest("dc=example,dc=com", mod);
AsyncRequestID asyncRequestID =
connection.asyncModify(modifyRequest, myAsyncResultListener);
// Assume that we've waited a reasonable amount of time but the modify
// hasn't completed yet so we'll try to cancel it.
ExtendedResult cancelResult;
try
{
cancelResult = connection.processExtendedOperation(
new CancelExtendedRequest(asyncRequestID));
// This doesn't necessarily mean that the operation was successful, since
// some kinds of extended operations (like cancel) return non-success
// results under normal conditions.
}
catch (LDAPException le)
{
// For an extended operation, this generally means that a problem was
// encountered while trying to send the request or read the result.
cancelResult = new ExtendedResult(le);
}
switch (cancelResult.getResultCode().intValue())
{
case ResultCode.CANCELED_INT_VALUE:
// The modify operation was successfully canceled.
break;
case ResultCode.CANNOT_CANCEL_INT_VALUE:
// This indicates that the server isn't capable of canceling that
// type of operation. This probably won't happen for this kind of
// modify operation, but it could happen for other kinds of operations.
break;
case ResultCode.TOO_LATE_INT_VALUE:
// This indicates that the cancel request was received too late and the
// server is intending to process the operation.
break;
case ResultCode.NO_SUCH_OPERATION_INT_VALUE:
// This indicates that the server doesn't know anything about the
// operation, most likely because it has already completed.
break;
default:
// This suggests that the operation failed for some other reason.
break;
}
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CANCEL_REQUEST_OID
The OID (1.3.6.1.1.8) for the cancel extended request.
|
TYPE_EXTENDED_REQUEST_OID, TYPE_EXTENDED_REQUEST_VALUE| Constructor and Description |
|---|
CancelExtendedRequest(AsyncRequestID requestID)
Creates a new cancel extended request that will cancel the request with the
specified async request ID.
|
CancelExtendedRequest(AsyncRequestID requestID,
Control[] controls)
Creates a new cancel extended request that will cancel the request with the
specified request ID.
|
CancelExtendedRequest(ExtendedRequest extendedRequest)
Creates a new cancel extended request from the provided generic extended
request.
|
CancelExtendedRequest(int targetMessageID)
Creates a new cancel extended request that will cancel the request with the
specified message ID.
|
CancelExtendedRequest(int targetMessageID,
Control[] controls)
Creates a new cancel extended request that will cancel the request with the
specified message ID.
|
| Modifier and Type | Method and Description |
|---|---|
CancelExtendedRequest |
duplicate()
Creates a new instance of this LDAP request that may be modified without
impacting this request.
|
CancelExtendedRequest |
duplicate(Control[] controls)
Creates a new instance of this LDAP request that may be modified without
impacting this request.
|
java.lang.String |
getExtendedRequestName()
Retrieves the user-friendly name for the extended request, if available.
|
int |
getTargetMessageID()
Retrieves the message ID of the request to cancel.
|
protected ExtendedResult |
process(LDAPConnection connection,
int depth)
Sends this extended request to the directory server over the provided
connection and returns the associated response.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this request to the provided buffer.
|
encodeProtocolOp, getLastMessageID, getOID, getOperationType, getProtocolOpType, getValue, hasValue, responseReceived, toCode, writeTofollowReferrals, getControl, getControlList, getControls, getIntermediateResponseListener, getReferralConnector, getReferralConnectorInternal, getReferralDepth, getResponseTimeoutMillis, hasControl, hasControl, setFollowReferrals, setIntermediateResponseListener, setReferralConnector, setReferralDepth, setResponseTimeoutMillis, toString@NotNull public static final java.lang.String CANCEL_REQUEST_OID
public CancelExtendedRequest(@NotNull AsyncRequestID requestID)
requestID - The async request ID of the request to cancel. It must
not be null.public CancelExtendedRequest(int targetMessageID)
targetMessageID - The message ID of the request to cancel.public CancelExtendedRequest(@NotNull AsyncRequestID requestID, @Nullable Control[] controls)
requestID - The async request ID of the request to cancel. It must
not be null.controls - The set of controls to include in the request.public CancelExtendedRequest(int targetMessageID, @Nullable Control[] controls)
targetMessageID - The message ID of the request to cancel.controls - The set of controls to include in the request.public CancelExtendedRequest(@NotNull ExtendedRequest extendedRequest) throws LDAPException
extendedRequest - The generic extended request to use to create this
cancel extended request.LDAPException - If a problem occurs while decoding the request.@NotNull protected ExtendedResult process(@NotNull LDAPConnection connection, int depth) throws LDAPException
process in class ExtendedRequestconnection - The connection to use to communicate with the directory
server.depth - The current referral depth for this request. It should
always be one for the initial request, and should only
be incremented when following referrals.LDAPException - If a problem occurs while sending the request or
reading the response.public int getTargetMessageID()
@NotNull public CancelExtendedRequest duplicate()
duplicate in interface ReadOnlyLDAPRequestduplicate in class ExtendedRequest@NotNull public CancelExtendedRequest duplicate(@Nullable Control[] controls)
duplicate in interface ReadOnlyLDAPRequestduplicate in class ExtendedRequestcontrols - The set of controls to include in the duplicate request.@NotNull public java.lang.String getExtendedRequestName()
getExtendedRequestName in class ExtendedRequestpublic void toString(@NotNull java.lang.StringBuilder buffer)
toString in interface ProtocolOptoString in interface ReadOnlyLDAPRequesttoString in class ExtendedRequestbuffer - The buffer to which to append a string representation of
this request.