Package org.opends.server.core
Class ExtendedOperation
- java.lang.Object
-
- org.opends.server.types.Operation
-
- org.opends.server.core.ExtendedOperation
-
- All Implemented Interfaces:
Runnable
,PluginOperation
,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
requestContext
-
-
Constructor Summary
Constructors Constructor Description ExtendedOperation(org.forgerock.services.context.Context context, ExtendedRequest<?> extendedRequest)
Creates a new extended operation with the provided information.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addResponseControl(Control control)
Adds the provided control to the set of controls to include in the response to the client.OperationType
getOperationType()
Retrieves the operation type for this operation.Dn
getProxiedAuthorizationDN()
Retrieves the proxied authorization DN for this operation if proxied authorization has been requested.String
getRequestOID()
Retrieves the OID for the request associated with this extended operation.ByteString
getRequestValue()
Retrieves the value for the request associated with this extended operation.List<Control>
getResponseControls()
Retrieves the set of controls to include in the response to the client.String
getResponseOID()
Retrieves the OID to include in the response to the client.ByteString
getResponseValue()
Retrieves the value to include in the response to the client.void
removeResponseControl(Control control)
Removes the provided control from the set of controls to include in the response to the client.void
run()
Performs the work of actually processing this operation.void
setProxiedAuthorizationDN(Dn proxiedAuthorizationDN)
Set the proxied authorization DN for this operation if proxied authorization has been requested.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, disconnectClient, dontSynchronize, equals, evaluateProxyAuthControls, filterNonDisclosableMatchedDN, findMatchedDN, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getClientConnection, getConnectionID, getContext, getErrorMessage, getLargestEntrySize, getLocalBackend, getMatchedDN, getMessageID, getOperationID, getReferralURLs, getRequestControl, getRequestControls, getResultCode, getServerContext, hashCode, hasPrivilege, hasRequestControl, invokePostResponseCallbacks, isHumanReadable, isInnerOperation, isInternalOperation, isProxyAuthzControl, isSynchronizationOperation, mustCheckSchema, operationCompleted, processOperationResult, processOperationResult, registerPostResponseCallback, removeAllDisallowedControls, removeAttachment, setAttachment, setAttachments, setAuthorizationEntry, setDontSynchronize, setErrorMessage, setInnerOperation, setInternalOperation, setMatchedDN, setReferralURLs, setResult, setResult, setResultCode, setResultCodeAndMessageNoInfoDisclosure, setSynchronizationOperation, 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, disconnectClient, getAttachment, getAttachments, getClientConnection, getConnectionID, getMessageID, getOperationID, getRequestControl, getRequestControl, getRequestControls, isInternalOperation, isSynchronizationOperation, removeAttachment, 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, setErrorMessage
-
Methods inherited from interface org.opends.server.types.operation.PreParseOperation
addAdditionalLogItem, addRequestControl, appendErrorMessage, getAdditionalLogItems, getErrorMessage, setErrorMessage
-
-
-
-
Constructor Detail
-
ExtendedOperation
public ExtendedOperation(org.forgerock.services.context.Context context, ExtendedRequest<?> extendedRequest)
Creates a new extended operation with the provided information.- Parameters:
context
- The request context with which this operation is associated.extendedRequest
- The extended request.
-
-
Method Detail
-
getRequestOID
public String 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
public void setRequestOID(String requestOID)
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.
-
getProxiedAuthorizationDN
public Dn getProxiedAuthorizationDN()
Description copied from class:Operation
Retrieves the proxied authorization DN for this operation if proxied authorization has been requested.- Specified by:
getProxiedAuthorizationDN
in classOperation
- Returns:
- The proxied authorization DN for this operation if proxied authorization has been requested, or
null
if proxied authorization has not been requested.
-
setProxiedAuthorizationDN
public void setProxiedAuthorizationDN(Dn proxiedAuthorizationDN)
Description copied from class:Operation
Set the proxied authorization DN for this operation if proxied authorization has been requested.- Specified by:
setProxiedAuthorizationDN
in classOperation
- Parameters:
proxiedAuthorizationDN
- The proxied authorization DN for this operation if proxied authorization has been requested, ornull
if proxied authorization has not been requested.
-
getRequestValue
public ByteString 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
public void setRequestValue(ByteString requestValue)
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
public String 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
public void setResponseOID(String responseOID)
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
public ByteString 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
public void setResponseValue(ByteString responseValue)
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.
-
getOperationType
public OperationType getOperationType()
Description copied from interface:PluginOperation
Retrieves the operation type for this operation.- Specified by:
getOperationType
in interfacePluginOperation
- Returns:
- The operation type for this operation.
-
getResponseControls
public List<Control> 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
public void addResponseControl(Control control)
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
public void removeResponseControl(Control control)
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.
-
run
public void run()
Description copied from class:Operation
Performs the work of actually processing this operation. This should include all processing for the operation, including invoking pre-parse and post-response plugins, logging messages and any other work that might need to be done in the course of processing.
-
toString
public void toString(StringBuilder buffer)
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.
-
-