@PublicAPI(stability=VOLATILE, mayInstantiate=false, mayExtend=false, mayInvoke=true) public abstract class AbstractOperation extends Object implements Operation, PreParseOperation, PostResponseOperation
org.opends.server.core
package.Modifier and Type | Field and Description |
---|---|
protected CancelRequest |
cancelRequest
The cancel request for this operation.
|
protected CancelResult |
cancelResult
The cancel result for this operation.
|
protected ClientConnection |
clientConnection
The client connection with which this operation is associated.
|
protected int |
messageID
The message ID for this operation.
|
protected static List<Control> |
NO_RESPONSE_CONTROLS
The set of response controls that will always be returned for an abandon operation.
|
protected long |
operationID
The operation ID for this operation.
|
LOCALBACKENDOPERATIONS
Modifier | Constructor and Description |
---|---|
protected |
AbstractOperation(ClientConnection clientConnection,
long operationID,
int messageID,
List<Control> requestControls)
Creates a new operation with the provided information.
|
Modifier and Type | Method and Description |
---|---|
void |
abort(CancelRequest cancelRequest)
Attempts to abort this operation before processing has
completed.
|
void |
addAdditionalLogItem(AdditionalLogItem item)
Adds an additional log item to this operation, which should be written to
the log but not included in the response to the client.
|
void |
addRequestControl(Control control)
Adds the provided control to the set of request controls for this
operation.
|
void |
appendErrorMessage(LocalizableMessage message)
Appends the provided message to the error message buffer.
|
void |
appendMaskedErrorMessage(LocalizableMessage maskedMessage)
Appends the provided message to the real, masked error message buffer.
|
CancelResult |
cancel(CancelRequest cancelRequest)
Attempts to cancel this operation before processing has
completed.
|
void |
checkIfCanceled(boolean signalTooLate)
Checks to see if this operation requested to cancel in which case
CanceledOperationException will be thrown.
|
void |
disconnectClient(DisconnectReason disconnectReason,
boolean sendNotification,
LocalizableMessage message)
Terminates the client connection being used to process this
operation.
|
boolean |
dontSynchronize()
Indicates whether this operation needs to be synchronized to
other copies of the data.
|
boolean |
equals(Object obj) |
List<AdditionalLogItem> |
getAdditionalLogItems()
Returns an unmodifiable list containing the additional log items for this
operation, which should be written to the log but not included in the
response to the client.
|
<T> T |
getAttachment(String name)
Retrieves the attachment with the specified name.
|
Map<String,Object> |
getAttachments()
Retrieves the set of attachments defined for this operation, as a
mapping between the attachment name and the associated object.
|
org.forgerock.opendj.ldap.Dn |
getAuthorizationDN()
Retrieves the authorization DN for this operation.
|
Entry |
getAuthorizationEntry()
Retrieves the entry for the user that should be considered the
authorization identity for this operation.
|
CancelRequest |
getCancelRequest()
Retrieves the cancel request that has been issued for this
operation, if there is one.
|
CancelResult |
getCancelResult()
Retrieves the cancel result for this operation.
|
ClientConnection |
getClientConnection()
Retrieves the client connection with which this operation is
associated.
|
long |
getConnectionID()
Retrieves the unique identifier that is assigned to the client
connection that submitted this operation.
|
LocalizableMessageBuilder |
getErrorMessage()
Retrieves the error message for this operation.
|
LocalizableMessageBuilder |
getMaskedErrorMessage()
Retrieves the real, masked error message for this operation.
|
org.forgerock.opendj.ldap.ResultCode |
getMaskedResultCode()
Retrieves the real, masked result code for this operation.
|
org.forgerock.opendj.ldap.Dn |
getMatchedDN()
Retrieves the matched DN for this operation.
|
int |
getMessageID()
Retrieves the message ID assigned to this operation.
|
long |
getOperationID()
Retrieves the operation ID for this operation.
|
long |
getProcessingNanoTime()
Retrieves the length of time in nanoseconds that
the server spent processing this operation if available.
|
long |
getProcessingStartTime()
Retrieves the time that processing started for this operation.
|
long |
getProcessingStopTime()
Retrieves the time that processing stopped for this operation.
|
long |
getProcessingTime()
Retrieves the length of time in milliseconds that the server
spent processing this operation.
|
List<String> |
getReferralURLs()
Retrieves the set of referral URLs for this operation.
|
<T extends Control> |
getRequestControl(ControlDecoder<T> d)
Retrieves a control included in the request from the client.
|
List<Control> |
getRequestControls()
Retrieves the set of controls included in the request from the
client.
|
org.forgerock.opendj.ldap.ResultCode |
getResultCode()
Retrieves the result code for this operation.
|
int |
hashCode() |
protected void |
invokePostResponseCallbacks()
Invokes the post response callbacks that were registered with
this operation.
|
boolean |
isInnerOperation()
Indicates whether this is an inner operation rather than one that was
directly requested by an external client.
|
boolean |
isInternalOperation()
Indicates whether this is an internal operation rather than one
that was requested by an external client.
|
boolean |
isSynchronizationOperation()
Indicates whether this is a synchronization operation rather than
one that was requested by an external client.
|
void |
operationCompleted()
Indicates that processing on this operation has completed
successfully and that the client should perform any associated
cleanup work.
|
static boolean |
processOperationResult(Operation op,
PluginResult.OperationResult opResult)
Processes the provided operation result for the provided operation.
|
boolean |
processOperationResult(PluginResult.OperationResult operationResult)
Processes the provided operation result for the current operation.
|
void |
registerPostResponseCallback(Runnable callback)
Registers a callback which should be run once this operation has
completed and the response sent back to the client.
|
<T> T |
removeAttachment(String name)
Removes the attachment with the specified name.
|
<T> T |
setAttachment(String name,
Object value)
Sets the value of the specified attachment.
|
void |
setAttachments(Map<String,Object> attachments)
Set the attachments to the operation.
|
void |
setAuthorizationEntry(Entry authorizationEntry)
Provides the entry for the user that should be considered the
authorization identity for this operation.
|
void |
setDontSynchronize(boolean dontSynchronize)
Specifies whether this operation must be synchronized to other
copies of the data.
|
void |
setErrorMessage(LocalizableMessageBuilder errorMessage)
Specifies the error message for this operation.
|
void |
setInnerOperation(boolean isInnerOperation)
Specifies whether this is an inner operation rather than one that was
directly requested by an external client.
|
void |
setInternalOperation(boolean isInternalOperation)
Specifies whether this is an internal operation rather than one
that was requested by an external client.
|
void |
setMaskedErrorMessage(LocalizableMessageBuilder maskedErrorMessage)
Specifies the real, masked error message for this operation.
|
void |
setMaskedResultCode(org.forgerock.opendj.ldap.ResultCode maskedResultCode)
Specifies the real, masked result code for this operation.
|
void |
setMatchedDN(org.forgerock.opendj.ldap.Dn matchedDN)
Specifies the matched DN for this operation.
|
void |
setProcessingStartTime()
Set the time at which the processing started for this operation.
|
void |
setProcessingStopTime()
Set the time at which the processing stopped for this operation.
|
void |
setReferralURLs(List<String> referralURLs)
Specifies the set of referral URLs for this operation.
|
void |
setResponseData(DirectoryException directoryException)
Sets the response elements for this operation based on the
information contained in the provided
DirectoryException
object. |
void |
setResultCode(org.forgerock.opendj.ldap.ResultCode resultCode)
Specifies the result code for this operation.
|
void |
setSynchronizationOperation(boolean isSynchronizationOperation)
Specifies whether this is a synchronization operation rather than
one that was requested by an external client.
|
String |
toString()
Retrieves a string representation of this operation.
|
void |
updateOperationErrMsgAndResCode()
Updates the error message and the result code of the operation.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
addResponseControl, getOperationType, getProxiedAuthorizationDN, getResponseControls, removeResponseControl, run, setProxiedAuthorizationDN, toString
addResponseControl, removeResponseControl
getOperationType, getResponseControls, toString
protected static final List<Control> NO_RESPONSE_CONTROLS
protected final ClientConnection clientConnection
protected final int messageID
protected final long operationID
protected CancelRequest cancelRequest
protected CancelResult cancelResult
protected AbstractOperation(ClientConnection clientConnection, long operationID, int messageID, List<Control> requestControls)
clientConnection
- The client connection with which this
operation is associated.operationID
- The identifier assigned to this
operation for the client connection.messageID
- The message ID of the request with
which this operation is associated.requestControls
- The set of controls included in the
request.public void disconnectClient(DisconnectReason disconnectReason, boolean sendNotification, LocalizableMessage message)
Operation
disconnectClient
in interface Operation
disconnectClient
in interface PluginOperation
disconnectReason
- The disconnect reason that provides the
generic cause for the disconnect.sendNotification
- Indicates whether to try to provide
notification
to the client that the connection will
be closed.message
- The message to send to the client. It
may be null
if no notification
is to be sent.public final ClientConnection getClientConnection()
Operation
getClientConnection
in interface Operation
getClientConnection
in interface PluginOperation
public final long getConnectionID()
Operation
getConnectionID
in interface Operation
getConnectionID
in interface PluginOperation
public final long getOperationID()
Operation
getOperationID
in interface Operation
getOperationID
in interface PluginOperation
public final int getMessageID()
Operation
getMessageID
in interface Operation
getMessageID
in interface PluginOperation
public final List<Control> getRequestControls()
Operation
getRequestControls
in interface Operation
getRequestControls
in interface PluginOperation
public final <T extends Control> T getRequestControl(ControlDecoder<T> d) throws DirectoryException
Operation
getRequestControl
in interface Operation
getRequestControl
in interface PluginOperation
T
- The type of control requested.d
- The requested control's decoder.null
if the
control was not found.DirectoryException
- if an error occurs while decoding the control.public final void addRequestControl(Control control)
Operation
addRequestControl
in interface Operation
addRequestControl
in interface PreParseOperation
control
- The control to add to the set of request
controls for this operation.public final org.forgerock.opendj.ldap.ResultCode getResultCode()
Operation
getResultCode
in interface Operation
getResultCode
in interface PostResponseOperation
UNDEFINED
if the operation has not yet
completed.public final void setResultCode(org.forgerock.opendj.ldap.ResultCode resultCode)
Operation
setResultCode
in interface Operation
resultCode
- The result code for this operation.public final org.forgerock.opendj.ldap.ResultCode getMaskedResultCode()
Operation
getMaskedResultCode
in interface Operation
UNDEFINED
if the operation has not yet completed.public final void setMaskedResultCode(org.forgerock.opendj.ldap.ResultCode maskedResultCode)
Operation
setMaskedResultCode
in interface Operation
maskedResultCode
- The real, masked result code for this operation.public final LocalizableMessageBuilder getErrorMessage()
Operation
getErrorMessage
in interface Operation
getErrorMessage
in interface PostResponseOperation
getErrorMessage
in interface PreParseOperation
public final void setErrorMessage(LocalizableMessageBuilder errorMessage)
Operation
setErrorMessage
in interface Operation
setErrorMessage
in interface PreParseOperation
errorMessage
- The error message for this operation.public final void appendErrorMessage(LocalizableMessage message)
Operation
appendErrorMessage
in interface Operation
appendErrorMessage
in interface PreParseOperation
message
- The message to append to the error messagepublic final LocalizableMessageBuilder getMaskedErrorMessage()
Operation
getMaskedErrorMessage
in interface Operation
public final void setMaskedErrorMessage(LocalizableMessageBuilder maskedErrorMessage)
Operation
setMaskedErrorMessage
in interface Operation
maskedErrorMessage
- The real, masked error message for this operation.public final void appendMaskedErrorMessage(LocalizableMessage maskedMessage)
Operation
appendMaskedErrorMessage
in interface Operation
maskedMessage
- The message to append to the real, masked error messagepublic List<AdditionalLogItem> getAdditionalLogItems()
Operation
getAdditionalLogItems
in interface Operation
getAdditionalLogItems
in interface PostResponseOperation
getAdditionalLogItems
in interface PreParseOperation
public void addAdditionalLogItem(AdditionalLogItem item)
Operation
addAdditionalLogItem
in interface Operation
addAdditionalLogItem
in interface PreParseOperation
item
- The additional log item for this operation.public final org.forgerock.opendj.ldap.Dn getMatchedDN()
Operation
getMatchedDN
in interface Operation
getMatchedDN
in interface PostResponseOperation
null
if
the operation has not yet completed or does not have a
matched DN.public final void setMatchedDN(org.forgerock.opendj.ldap.Dn matchedDN)
Operation
setMatchedDN
in interface Operation
matchedDN
- The matched DN for this operation.public final List<String> getReferralURLs()
Operation
getReferralURLs
in interface Operation
getReferralURLs
in interface PostResponseOperation
null
if the operation is not yet complete or
does not have a set of referral URLs.public final void setReferralURLs(List<String> referralURLs)
Operation
setReferralURLs
in interface Operation
referralURLs
- The set of referral URLs for this
operation.public final void setResponseData(DirectoryException directoryException)
Operation
DirectoryException
object. This method may not be called by post-response plugins.setResponseData
in interface Operation
directoryException
- The exception containing the
information to use for the response
elements.public final boolean isInternalOperation()
Operation
isInternalOperation
in interface Operation
isInternalOperation
in interface PluginOperation
true
if this is an internal operation, or
false
if it is not.public final void setInternalOperation(boolean isInternalOperation)
Operation
setInternalOperation
in interface Operation
isInternalOperation
- Specifies whether this is an
internal operation rather than one
that was requested by an external
client.public boolean isInnerOperation()
Operation
isInnerOperation
in interface Operation
true
if this is an inner operation, or false
if it
is not.public void setInnerOperation(boolean isInnerOperation)
Operation
setInnerOperation
in interface Operation
isInnerOperation
- Specifies whether this is an inner operation rather than one that
was requested by an external client.public final boolean isSynchronizationOperation()
Operation
isSynchronizationOperation
in interface Operation
isSynchronizationOperation
in interface PluginOperation
true
if this is a data synchronization
operation, or false
if it is not.public final void setSynchronizationOperation(boolean isSynchronizationOperation)
Operation
setSynchronizationOperation
in interface Operation
isSynchronizationOperation
- Specifies whether this is a
synchronization operation
rather than one that was
requested by an external
client.public boolean dontSynchronize()
Operation
dontSynchronize
in interface Operation
true
if this operation should not be
synchronized, or false
if it should be
synchronized.public final void setDontSynchronize(boolean dontSynchronize)
Operation
setDontSynchronize
in interface Operation
dontSynchronize
- Specifies whether this operation must be
synchronized to other copies
of the data.public final Entry getAuthorizationEntry()
Operation
null
if no authentication has been
performed on that connection. However, it may be some other
value if special processing has been requested (e.g., the
operation included a proxied authorization control). This method
should not be called by pre-parse plugins because the correct
value may not yet have been determined.getAuthorizationEntry
in interface Operation
null
if the authorization identity should be the
unauthenticated user.public final void setAuthorizationEntry(Entry authorizationEntry)
Operation
setAuthorizationEntry
in interface Operation
authorizationEntry
- The entry for the user that should be
considered the authorization identity
for this operation, or null
if it should be the unauthenticated
user.public final org.forgerock.opendj.ldap.Dn getAuthorizationDN()
Operation
getAuthorizationDN
in interface Operation
getAuthorizationDN
in interface PostResponseOperation
public final Map<String,Object> getAttachments()
Operation
getAttachments
in interface Operation
getAttachments
in interface PluginOperation
public final void setAttachments(Map<String,Object> attachments)
Operation
setAttachments
in interface Operation
attachments
- - Attachments to register within the
operationpublic final <T> T getAttachment(String name)
Operation
getAttachment
in interface Operation
getAttachment
in interface PluginOperation
T
- the type of the attached objectname
- The name for the attachment to retrieve. It will
be treated in a case-sensitive manner.null
if it
does not exist.public final <T> T removeAttachment(String name)
Operation
removeAttachment
in interface Operation
removeAttachment
in interface PluginOperation
T
- the type of the attached objectname
- The name for the attachment to remove. It will be
treated in a case-sensitive manner.null
if it
does not exist.public final <T> T setAttachment(String name, Object value)
Operation
setAttachment
in interface Operation
setAttachment
in interface PluginOperation
T
- the type of the attached objectname
- The name to use for the attachment.value
- The value to use for the attachment.null
if there was previously no such
attachment.public final void operationCompleted()
Operation
operationCompleted
in interface Operation
public CancelResult cancel(CancelRequest cancelRequest)
Operation
public void abort(CancelRequest cancelRequest)
Operation
public final void checkIfCanceled(boolean signalTooLate) throws CanceledOperationException
Operation
checkIfCanceled
in interface Operation
checkIfCanceled
in interface PluginOperation
signalTooLate
- true
to signal that any further
cancel requests will be too late after
return from this call or false
otherwise.CanceledOperationException
- if this operation should
be cancelled.public final CancelRequest getCancelRequest()
Operation
getCancelRequest
in interface Operation
null
if there has not been any
request to cancel.public final CancelResult getCancelResult()
Operation
getCancelResult
in interface Operation
null
if the operation has not seen and reacted
to a cancel request.public final String toString()
Operation
public final long getProcessingStartTime()
Operation
getProcessingStartTime
in interface Operation
getProcessingStartTime
in interface PluginOperation
public final void setProcessingStartTime()
public final long getProcessingStopTime()
Operation
getProcessingStopTime
in interface Operation
getProcessingStopTime
in interface PostResponseOperation
public final void setProcessingStopTime()
public final long getProcessingTime()
Operation
getProcessingTime
in interface Operation
getProcessingTime
in interface PostResponseOperation
public final long getProcessingNanoTime()
Operation
getProcessingNanoTime
in interface Operation
public final void registerPostResponseCallback(Runnable callback)
Operation
registerPostResponseCallback
in interface Operation
callback
- The callback to be run once this operation has completed
and the response sent back to the client.protected final void invokePostResponseCallbacks()
public void updateOperationErrMsgAndResCode()
public boolean processOperationResult(PluginResult.OperationResult operationResult)
operationResult
- the operation resulttrue
if processing can continue, false
otherwisepublic static boolean processOperationResult(Operation op, PluginResult.OperationResult opResult)
op
- the operationopResult
- the operation resulttrue
if processing can continue, false
otherwiseCopyright © 2010-2017 ForgeRock AS. All Rights Reserved.