|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@PublicAPI(stability=VOLATILE, mayInstantiate=false, mayExtend=false, mayInvoke=true) public interface Operation
This interface defines a generic operation that may be processed by
the Directory Server. Specific subclasses should implement
specific functionality appropriate for the type of operation.
Note that this class is not intended to be subclassed by any
third-party code outside of the OpenDS project. It should only be
extended by the operation types included in the
org.opends.server.core
package.
Field Summary | |
---|---|
static java.lang.String |
LOCALBACKENDOPERATIONS
Identifier used to get the local operation [if any] in the attachments. |
Method Summary | |
---|---|
void |
abort(CancelRequest cancelRequest)
Attempts to abort this operation before processing has completed. |
void |
addRequestControl(Control control)
Adds the provided control to the set of request controls for this operation. |
void |
addResponseControl(Control control)
Adds the provided control to the set of controls to include in the response to the client. |
void |
appendAdditionalLogMessage(Message message)
Appends the provided message to the additional log information for this operation. |
void |
appendErrorMessage(Message message)
Appends the provided message to the 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,
Message 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. |
MessageBuilder |
getAdditionalLogMessage()
Retrieves the additional log message for this operation, which should be written to the log but not included in the response to the client. |
java.lang.Object |
getAttachment(java.lang.String name)
Retrieves the attachment with the specified name. |
java.util.Map<java.lang.String,java.lang.Object> |
getAttachments()
Retrieves the set of attachments defined for this operation, as a mapping between the attachment name and the associated object. |
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. |
java.lang.String[][] |
getCommonLogElements()
Retrieves a set of standard elements that should be logged in all requests and responses for all types of operations. |
long |
getConnectionID()
Retrieves the unique identifier that is assigned to the client connection that submitted this operation. |
MessageBuilder |
getErrorMessage()
Retrieves the error message for this operation. |
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. |
OperationType |
getOperationType()
Retrieves the operation type 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. |
java.util.List<java.lang.String> |
getReferralURLs()
Retrieves the set of referral URLs for this operation. |
java.util.List<Control> |
getRequestControls()
Retrieves the set of controls included in the request from the client. |
java.lang.String[][] |
getRequestLogElements()
Retrieves a standard set of elements that should be logged in requests for this type of operation. |
java.util.List<Control> |
getResponseControls()
Retrieves the set of controls to include in the response to the client. |
java.lang.String[][] |
getResponseLogElements()
Retrieves a standard set of elements that should be logged in responses for this type of operation. |
ResultCode |
getResultCode()
Retrieves the result code for this operation. |
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. |
java.lang.Object |
removeAttachment(java.lang.String name)
Removes the attachment with the specified name. |
void |
removeRequestControl(Control control)
Removes the provided control from the set of request controls for this operation. |
void |
removeResponseControl(Control control)
Removes the provided control from the set of controls to include in the response to the client. |
void |
setAdditionalLogMessage(MessageBuilder additionalLogMessage)
Specifies the additional log message for this operation, which should be written to the log but not included in the response to the client. |
java.lang.Object |
setAttachment(java.lang.String name,
java.lang.Object value)
Sets the value of the specified attachment. |
void |
setAttachments(java.util.Map<java.lang.String,java.lang.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(MessageBuilder errorMessage)
Specifies the error message for this operation. |
void |
setInternalOperation(boolean isInternalOperation)
Specifies whether this is an internal operation rather than one that was requested by an external client. |
void |
setMatchedDN(DN matchedDN)
Specifies the matched DN for this operation. |
void |
setReferralURLs(java.util.List<java.lang.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(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. |
java.lang.String |
toString()
Retrieves a string representation of this operation. |
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this operation to the provided buffer. |
Field Detail |
---|
static final java.lang.String LOCALBACKENDOPERATIONS
Method Detail |
---|
OperationType getOperationType()
void disconnectClient(DisconnectReason disconnectReason, boolean sendNotification, Message message)
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.java.lang.String[][] getCommonLogElements()
null
if there is no value
for that field.
java.lang.String[][] getRequestLogElements()
null
if there is no value for that
field.
java.lang.String[][] getResponseLogElements()
null
if there is no value for that
field.
ClientConnection getClientConnection()
long getConnectionID()
long getOperationID()
int getMessageID()
java.util.List<Control> getRequestControls()
void addRequestControl(Control control)
control
- The control to add to the set of request
controls for this operation.void removeRequestControl(Control control)
control
- The control to remove from the set of request
controls for this operation.java.util.List<Control> getResponseControls()
void addResponseControl(Control control)
control
- The control to add to the set of controls to
include in the response to the client.void removeResponseControl(Control control)
control
- The control to remove from the set of controls
to include in the response to the client.ResultCode getResultCode()
UNDEFINED
if the operation has not yet
completed.void setResultCode(ResultCode resultCode)
resultCode
- The result code for this operation.MessageBuilder getErrorMessage()
void setErrorMessage(MessageBuilder errorMessage)
errorMessage
- The error message for this operation.void appendErrorMessage(Message message)
message
- The message to append to the error messageMessageBuilder getAdditionalLogMessage()
void setAdditionalLogMessage(MessageBuilder additionalLogMessage)
additionalLogMessage
- The additional log message for thisvoid appendAdditionalLogMessage(Message message)
message
- The message that should be appended to theDN getMatchedDN()
null
if
the operation has not yet completed or does not have a
matched DN.void setMatchedDN(DN matchedDN)
matchedDN
- The matched DN for this operation.java.util.List<java.lang.String> getReferralURLs()
null
if the operation is not yet complete or
does not have a set of referral URLs.void setReferralURLs(java.util.List<java.lang.String> referralURLs)
referralURLs
- The set of referral URLs for this
operation.void setResponseData(DirectoryException directoryException)
DirectoryException
object. This method may not be called by post-response plugins.
directoryException
- The exception containing the
information to use for the response
elements.boolean isInternalOperation()
true
if this is an internal operation, or
false
if it is not.void setInternalOperation(boolean isInternalOperation)
isInternalOperation
- Specifies whether this is an
internal operation rather than one
that was requested by an external
client.boolean isSynchronizationOperation()
true
if this is a data synchronization
operation, or false
if it is not.void setSynchronizationOperation(boolean isSynchronizationOperation)
isSynchronizationOperation
- Specifies whether this is a
synchronization operation
rather than one that was
requested by an external
client.void setDontSynchronize(boolean dontSynchronize)
dontSynchronize
- Specifies whether this operation must be
synchronized to other copies
of the data.Entry getAuthorizationEntry()
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.
null
if the authorization identity should be the
unauthenticated user.void setAuthorizationEntry(Entry authorizationEntry)
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.DN getAuthorizationDN()
java.util.Map<java.lang.String,java.lang.Object> getAttachments()
java.lang.Object getAttachment(java.lang.String name)
name
- The name for the attachment to retrieve. It will
be treated in a case-sensitive manner.
null
if it
does not exist.java.lang.Object removeAttachment(java.lang.String name)
name
- The name for the attachment to remove. It will be
treated in a case-sensitive manner.
null
if it
does not exist.java.lang.Object setAttachment(java.lang.String name, java.lang.Object value)
name
- The name to use for the attachment.value
- The value to use for the attachment.
null
if there was previously no such
attachment.long getProcessingStartTime()
long getProcessingStopTime()
long getProcessingTime()
long getProcessingNanoTime()
void operationCompleted()
CancelResult cancel(CancelRequest cancelRequest)
cancelRequest
- Information about the way in which the
operation should be canceled.
void abort(CancelRequest cancelRequest)
cancelRequest
- Information about the way in which the
operation should be canceled.CancelRequest getCancelRequest()
null
if there has not been any
request to cancel.CancelResult getCancelResult()
null
if the operation has not seen and reacted
to a cancel request.java.lang.String toString()
toString
in class java.lang.Object
void toString(java.lang.StringBuilder buffer)
buffer
- The buffer into which a string representation of
this operation should be appended.boolean dontSynchronize()
true
if this operation should not be
synchronized, or false
if it should be
synchronized.void setAttachments(java.util.Map<java.lang.String,java.lang.Object> attachments)
attachments
- - Attachments to register within the
operationvoid checkIfCanceled(boolean signalTooLate) throws CanceledOperationException
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |