Package org.opends.server.core
Class ModifyOperation
java.lang.Object
org.opends.server.types.Operation
org.opends.server.core.ModifyOperation
- All Implemented Interfaces:
PluginOperation
,PostCommitModifyOperation
,PostCommitOperation
,PostOperationModifyOperation
,PostOperationOperation
,PostResponseModifyOperation
,PostResponseOperation
,PostSynchronizationModifyOperation
,PostSynchronizationOperation
,PreOperationModifyOperation
,PreOperationOperation
,PreParseModifyOperation
,PreParseOperation
public final class ModifyOperation
extends Operation
implements PreOperationModifyOperation, PreParseModifyOperation, PostOperationModifyOperation, PostResponseModifyOperation, PostCommitModifyOperation, PostSynchronizationModifyOperation
This class defines an operation that may be used to modify an entry in the Directory Server.
-
Field Summary
Fields inherited from class org.opends.server.types.Operation
backend, context, out, pluginConfigManager, request, result, serverContext
-
Constructor Summary
ConstructorsConstructorDescriptionModifyOperation
(RequestContext context, LocalBackend<?> backend, ModifyRequest request, Consumer<Response> out, ServerContext serverContext) Creates a new modify operation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addModification
(Modification modification) Adds the provided modification to the set of modifications to this modify operation.Retrieves the current entry before any modifications are applied.Retrieves the set of clear-text current passwords for the user, if available.Retrieves the DN of the entry to modify.Retrieves the set of modifications for this modify operation.Retrieves the modified entry that is to be written to the backend.Retrieves the set of clear-text new passwords for the user, if available.Returns the request associated to this operation.protected void
Invokes any applicable post-response plugins.protected void
Invokes any applicable pre-parse plugins.protected Result
runImpl()
Performs the work of actually processing this operation.void
setEntryDN
(Dn entryDN) Specifies the entry DN as included in the client request.void
setModifications
(List<Modification> modifications) Specifies the set of modifications for this modify operation.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, addResponseControl, checkAttributeConformsToSyntax, checkIfBackendIsWritable, checkIfCanceled, createLdapException, equals, evaluateProxyAuthControls, filterNonDisclosableMatchedDn, getAccessControlHandler, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getClientConnection, getConnectionID, getMessageID, getOperationID, getProxiedAuthorizationDN, getRequestContext, getRequestControl, getRequestControls, getResponseControls, getResult, getResultCode, hashCode, hasPrivilege, hasRequestControl, isInternalOperation, isProxyAuthzControl, isSynchronizationOperation, mustCheckSchema, operationToResult, removeAllDisallowedControls, removeResponseControl, run, sendIntermediateResponse, sendResult, setAttachment, setResult, setResult, 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, getResponseControls, hasPrivilege, isInternalOperation, isSynchronizationOperation, setAttachment, toString
Methods inherited from interface org.opends.server.types.operation.PostCommitOperation
getAdditionalLogItems, getAuthorizationDN, getResultCode
Methods inherited from interface org.opends.server.types.operation.PostOperationOperation
addAdditionalLogItem, addResponseControl, getAdditionalLogItems, getAuthorizationDN, getResultCode, removeResponseControl, setResult, setResult
Methods inherited from interface org.opends.server.types.operation.PostResponseOperation
getAdditionalLogItems, getAuthorizationDN, getResultCode
Methods inherited from interface org.opends.server.types.operation.PostSynchronizationOperation
getAdditionalLogItems, getAuthorizationDN, getResultCode
Methods inherited from interface org.opends.server.types.operation.PreOperationOperation
addAdditionalLogItem, addResponseControl, getAdditionalLogItems, getAuthorizationDN, removeResponseControl, sendIntermediateResponse
Methods inherited from interface org.opends.server.types.operation.PreParseOperation
addAdditionalLogItem, addRequestControl, addResponseControl, getAdditionalLogItems, removeResponseControl, sendIntermediateResponse
-
Constructor Details
-
ModifyOperation
public ModifyOperation(RequestContext context, LocalBackend<?> backend, ModifyRequest request, Consumer<Response> out, ServerContext serverContext) Creates a new modify 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.serverContext
- the server context
-
-
Method Details
-
setEntryDN
Description copied from interface:PreParseModifyOperation
Specifies the entry DN as included in the client request.- Specified by:
setEntryDN
in interfacePreParseModifyOperation
- Parameters:
entryDN
- The entry DN as included in the client request.
-
getEntryDN
Description copied from interface:PreOperationModifyOperation
Retrieves the DN of the entry to modify.- Specified by:
getEntryDN
in interfacePostCommitModifyOperation
- Specified by:
getEntryDN
in interfacePostOperationModifyOperation
- Specified by:
getEntryDN
in interfacePostResponseModifyOperation
- Specified by:
getEntryDN
in interfacePostSynchronizationModifyOperation
- Specified by:
getEntryDN
in interfacePreOperationModifyOperation
- Specified by:
getEntryDN
in interfacePreParseModifyOperation
- Returns:
- The DN of the entry to modify.
-
setModifications
Description copied from interface:PreParseModifyOperation
Specifies the set of modifications for this modify operation.- Specified by:
setModifications
in interfacePreParseModifyOperation
- Parameters:
modifications
- The modifications for this modify operation.
-
getModifications
Retrieves the set of modifications for this modify operation. Its contents should not be altered. It will not be available to pre-parse plugins.- Specified by:
getModifications
in interfacePostCommitModifyOperation
- Specified by:
getModifications
in interfacePostOperationModifyOperation
- Specified by:
getModifications
in interfacePostResponseModifyOperation
- Specified by:
getModifications
in interfacePostSynchronizationModifyOperation
- Specified by:
getModifications
in interfacePreOperationModifyOperation
- Specified by:
getModifications
in interfacePreParseModifyOperation
- Returns:
- The set of modifications for this modify operation, or
null
if the modifications have not yet been processed.
-
addModification
Adds the provided modification to the set of modifications to this modify operation. This may only be called by pre-operation plugins.- Specified by:
addModification
in interfacePreOperationModifyOperation
- Specified by:
addModification
in interfacePreParseModifyOperation
- Parameters:
modification
- The modification to add to the set of changes for this modify operation.- Throws:
LdapException
- If an unexpected problem occurs while applying the modification to the entry.
-
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.
-
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.
-
runImpl
Description copied from class:Operation
Performs the work of actually processing this operation.- Specified by:
runImpl
in classOperation
- Returns:
null
if the result is delayed (e.g. persistent search),Result
otherwise.- 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
- 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
-
getCurrentEntry
Description copied from interface:PreOperationModifyOperation
Retrieves the current entry before any modifications are applied. It should not be modified by the caller.- Specified by:
getCurrentEntry
in interfacePostCommitModifyOperation
- Specified by:
getCurrentEntry
in interfacePostOperationModifyOperation
- Specified by:
getCurrentEntry
in interfacePostResponseModifyOperation
- Specified by:
getCurrentEntry
in interfacePostSynchronizationModifyOperation
- Specified by:
getCurrentEntry
in interfacePreOperationModifyOperation
- Returns:
- The current entry before any modifications are applied.
-
getCurrentPasswords
Description copied from interface:PreOperationModifyOperation
Retrieves the set of clear-text current passwords for the user, if available. This will only be available if the modify operation contains one or more delete elements that target the password attribute and provide the values to delete in the clear. This list should not be altered by the caller.- Specified by:
getCurrentPasswords
in interfacePostCommitModifyOperation
- Specified by:
getCurrentPasswords
in interfacePostOperationModifyOperation
- Specified by:
getCurrentPasswords
in interfacePostResponseModifyOperation
- Specified by:
getCurrentPasswords
in interfacePostSynchronizationModifyOperation
- Specified by:
getCurrentPasswords
in interfacePreOperationModifyOperation
- Returns:
- The set of clear-text current password values as provided in the modify request, or
null
if there were none.
-
getModifiedEntry
Description copied from interface:PreOperationModifyOperation
Retrieves the modified entry that is to be written to the backend. This entry should not be modified directly, but should only be altered through theaddModification
method.- Specified by:
getModifiedEntry
in interfacePostCommitModifyOperation
- Specified by:
getModifiedEntry
in interfacePostOperationModifyOperation
- Specified by:
getModifiedEntry
in interfacePostResponseModifyOperation
- Specified by:
getModifiedEntry
in interfacePostSynchronizationModifyOperation
- Specified by:
getModifiedEntry
in interfacePreOperationModifyOperation
- Returns:
- The modified entry that is to be written to the backend.
-
getNewPasswords
Description copied from interface:PreOperationModifyOperation
Retrieves the set of clear-text new passwords for the user, if available. This will only be available if the modify operation contains one or more add or replace elements that target the password attribute and provide the values in the clear. This list should not be altered by the caller.- Specified by:
getNewPasswords
in interfacePostCommitModifyOperation
- Specified by:
getNewPasswords
in interfacePostOperationModifyOperation
- Specified by:
getNewPasswords
in interfacePostResponseModifyOperation
- Specified by:
getNewPasswords
in interfacePostSynchronizationModifyOperation
- Specified by:
getNewPasswords
in interfacePreOperationModifyOperation
- Returns:
- The set of clear-text new passwords as provided in the modify request, or
null
if there were none.
-