@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, writeTo
followReferrals, 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 ExtendedRequest
connection
- 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 ReadOnlyLDAPRequest
duplicate
in class ExtendedRequest
@NotNull public CancelExtendedRequest duplicate(@Nullable Control[] controls)
duplicate
in interface ReadOnlyLDAPRequest
duplicate
in class ExtendedRequest
controls
- The set of controls to include in the duplicate request.@NotNull public java.lang.String getExtendedRequestName()
getExtendedRequestName
in class ExtendedRequest
public void toString(@NotNull java.lang.StringBuilder buffer)
toString
in interface ProtocolOp
toString
in interface ReadOnlyLDAPRequest
toString
in class ExtendedRequest
buffer
- The buffer to which to append a string representation of
this request.