Package org.opends.server.core
Class ExtendedOperation
java.lang.Object
org.opends.server.types.Operation
org.opends.server.core.ExtendedOperation
- All Implemented Interfaces:
PluginOperation
,PostCommitOperation
,PostOperationExtendedOperation
,PostOperationOperation
,PostResponseExtendedOperation
,PostResponseOperation
,PreOperationExtendedOperation
,PreOperationOperation
,PreParseExtendedOperation
,PreParseOperation
public final class ExtendedOperation
extends Operation
implements PreParseExtendedOperation, PreOperationExtendedOperation, PostOperationExtendedOperation, PostResponseExtendedOperation
This class defines an extended operation, which can perform virtually any kind of task.
-
Field Summary
Fields inherited from class org.opends.server.types.Operation
backend, context, out, pluginConfigManager, request, serverContext
-
Constructor Summary
ConstructorDescriptionExtendedOperation
(RequestContext context, LocalBackend<?> backend, ExtendedRequest<?> request, Consumer<ResponseStream> out) Creates a new extended operation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addResponseControl
(Control control) Adds the provided control to the set of controls to include in the response to the client.Returns the request associated to this operation.Retrieves the OID for the request associated with this extended operation.Retrieves the value for the request associated with this extended operation.Retrieves the set of controls to include in the response to the client.Retrieves the OID to include in the response to the client.Retrieves the value to include in the response to the client.protected void
Invokes any applicable post-response plugins.protected boolean
Invokes any applicable pre-parse plugins.protected Result
Generates a result for this operation.void
removeResponseControl
(Control control) Removes the provided control from the set of controls to include in the response to the client.protected boolean
runImpl()
Performs the work of actually processing this operation.void
setRequestOID
(String requestOID) Specifies the OID for the request associated with this extended operation.void
setRequestValue
(ByteString requestValue) Specifies the value for the request associated with this extended operation.void
setResponseOID
(String responseOID) Specifies the OID to include in the response to the client.void
setResponseValue
(ByteString responseValue) Specifies the value to include in the response to the client.void
toString
(StringBuilder buffer) Appends a string representation of this operation to the provided buffer.Methods inherited from class org.opends.server.types.Operation
addAdditionalLogItem, addPasswordPolicyWarningToLog, addPostReadResponse, addPreReadResponse, addRequestControl, appendErrorMessage, appendMaskedErrorMessage, checkAttributeConformsToSyntax, checkIfBackendIsWritable, checkIfCanceled, createLdapException, equals, evaluateProxyAuthControls, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getClientConnection, getConnectionID, getErrorMessage, getLargestEntrySize, getMatchedDN, getMessageID, getOperationID, getProxiedAuthorizationDN, getReferralURLs, getRequestContext, getRequestControl, getRequestControls, getResultCode, hashCode, hasPrivilege, hasRequestControl, isInternalOperation, isProxyAuthzControl, isSynchronizationOperation, mustCheckSchema, processOperationResult, removeAllDisallowedControls, run, sendResponses, sendResult, setAttachment, setErrorMessage, setMatchedDN, setReferralURLs, setResult, setResult, setResultCode, setResultCodeAndMessageNoInfoDisclosure, toString, trySetLargestEntrySize
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opends.server.types.operation.PluginOperation
checkIfCanceled, getAttachment, getAttachments, getClientConnection, getConnectionID, getMessageID, getOperationID, getRequestControl, getRequestControl, getRequestControls, hasPrivilege, isInternalOperation, isSynchronizationOperation, setAttachment, toString
Methods inherited from interface org.opends.server.types.operation.PostOperationOperation
addAdditionalLogItem, appendErrorMessage, getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode, setErrorMessage, setMatchedDN, setReferralURLs, setResult, setResultCode
Methods inherited from interface org.opends.server.types.operation.PreOperationOperation
addAdditionalLogItem, appendErrorMessage, getAdditionalLogItems, getAuthorizationDN, getErrorMessage, sendResponses, setErrorMessage
Methods inherited from interface org.opends.server.types.operation.PreParseOperation
addAdditionalLogItem, addRequestControl, appendErrorMessage, getAdditionalLogItems, getErrorMessage, sendResponses, setErrorMessage
-
Constructor Details
-
ExtendedOperation
public ExtendedOperation(RequestContext context, LocalBackend<?> backend, ExtendedRequest<?> request, Consumer<ResponseStream> out) Creates a new extended operation.- Parameters:
context
- The context.backend
- The local backend in which this request is to be processed.request
- The request.out
- A consumer responsible for sending responses to the client.
-
-
Method Details
-
getRequestOID
Retrieves the OID for the request associated with this extended operation.- Specified by:
getRequestOID
in interfacePostOperationExtendedOperation
- Specified by:
getRequestOID
in interfacePostResponseExtendedOperation
- Specified by:
getRequestOID
in interfacePreOperationExtendedOperation
- Specified by:
getRequestOID
in interfacePreParseExtendedOperation
- Returns:
- The OID for the request associated with this extended operation.
-
setRequestOID
Specifies the OID for the request associated with this extended operation. This should only be called by pre-parse plugins.- Specified by:
setRequestOID
in interfacePreParseExtendedOperation
- Parameters:
requestOID
- The OID for the request associated with this extended operation.
-
getRequestValue
Retrieves the value for the request associated with this extended operation.- Specified by:
getRequestValue
in interfacePostOperationExtendedOperation
- Specified by:
getRequestValue
in interfacePostResponseExtendedOperation
- Specified by:
getRequestValue
in interfacePreOperationExtendedOperation
- Specified by:
getRequestValue
in interfacePreParseExtendedOperation
- Returns:
- The value for the request associated with this extended operation.
-
setRequestValue
Specifies the value for the request associated with this extended operation. This should only be called by pre-parse plugins.- Specified by:
setRequestValue
in interfacePreParseExtendedOperation
- Parameters:
requestValue
- The value for the request associated with this extended operation.
-
getResponseOID
Retrieves the OID to include in the response to the client.- Specified by:
getResponseOID
in interfacePostOperationExtendedOperation
- Specified by:
getResponseOID
in interfacePostResponseExtendedOperation
- Returns:
- The OID to include in the response to the client.
-
setResponseOID
Specifies the OID to include in the response to the client.- Specified by:
setResponseOID
in interfacePostOperationExtendedOperation
- Specified by:
setResponseOID
in interfacePreOperationExtendedOperation
- Specified by:
setResponseOID
in interfacePreParseExtendedOperation
- Parameters:
responseOID
- The OID to include in the response to the client.
-
getResponseValue
Retrieves the value to include in the response to the client.- Specified by:
getResponseValue
in interfacePostOperationExtendedOperation
- Specified by:
getResponseValue
in interfacePostResponseExtendedOperation
- Returns:
- The value to include in the response to the client.
-
setResponseValue
Specifies the value to include in the response to the client.- Specified by:
setResponseValue
in interfacePostOperationExtendedOperation
- Specified by:
setResponseValue
in interfacePreOperationExtendedOperation
- Specified by:
setResponseValue
in interfacePreParseExtendedOperation
- Parameters:
responseValue
- The value to include in the response to the client.
-
getRequest
Description copied from class:Operation
Returns the request associated to this operation.- Specified by:
getRequest
in interfacePluginOperation
- Overrides:
getRequest
in classOperation
- Returns:
- The request associated to this operation.
-
getResponseControls
Description copied from interface:PluginOperation
Retrieves the set of controls to include in the response to the client. The contents of this list must not be altered.- Specified by:
getResponseControls
in interfacePluginOperation
- Returns:
- The set of controls to include in the response to the client.
-
addResponseControl
Description copied from class:Operation
Adds the provided control to the set of controls to include in the response to the client.This method may not be called by post-response plugins.
- Specified by:
addResponseControl
in interfacePostOperationOperation
- Specified by:
addResponseControl
in interfacePreOperationOperation
- Specified by:
addResponseControl
in interfacePreParseOperation
- Specified by:
addResponseControl
in classOperation
- Parameters:
control
- The control to add to the set of controls to include in the response to the client.
-
removeResponseControl
Description copied from class:Operation
Removes the provided control from the set of controls to include in the response to the client.This method may not be called by post-response plugins.
- Specified by:
removeResponseControl
in interfacePostOperationOperation
- Specified by:
removeResponseControl
in interfacePreOperationOperation
- Specified by:
removeResponseControl
in interfacePreParseOperation
- Specified by:
removeResponseControl
in classOperation
- Parameters:
control
- The control to remove from the set of controls to include in the response to the client.
-
runImpl
Description copied from class:Operation
Performs the work of actually processing this operation.- Specified by:
runImpl
in classOperation
- Returns:
true
if the result should be sent immediately, orfalse
if it will be sent later, e.g. as part of a persistent search.- Throws:
LdapException
- If an error occurred when processing the operation.
-
invokePreParsePlugins
Description copied from class:Operation
Invokes any applicable pre-parse plugins.- Specified by:
invokePreParsePlugins
in classOperation
- Returns:
true
if processing should continue.- Throws:
LdapException
- If an error occurred when invoking the pre-parse plugins.
-
invokePostResponsePlugins
protected void invokePostResponsePlugins()Description copied from class:Operation
Invokes any applicable post-response plugins.- Specified by:
invokePostResponsePlugins
in classOperation
-
operationToResult
Description copied from class:Operation
Generates a result for this operation.- Overrides:
operationToResult
in classOperation
- Returns:
- The result.
-
toString
Description copied from interface:PluginOperation
Appends a string representation of this operation to the provided buffer.- Specified by:
toString
in interfacePluginOperation
- Specified by:
toString
in classOperation
- Parameters:
buffer
- The buffer into which a string representation of this operation should be appended.
-