Package org.opends.server.core
Class ModifyOperation
- java.lang.Object
-
- org.opends.server.types.Operation
-
- org.opends.server.core.ModifyOperation
-
- All Implemented Interfaces:
Runnable,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
requestContext
-
-
Constructor Summary
Constructors Constructor Description ModifyOperation(org.forgerock.services.context.Context context, ModifyRequest modifyRequest)Creates a new modify operation with the provided information.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddModification(Modification modification)Adds the provided modification to the set of modifications to this modify operation.voidaddResponseControl(Control control)Adds the provided control to the set of controls to include in the response to the client.EntrygetCurrentEntry()Retrieves the current entry before any modifications are applied.List<ByteString>getCurrentPasswords()Retrieves the set of clear-text current passwords for the user, if available.DngetEntryDN()Retrieves the DN of the entry to modify.List<Modification>getModifications()Retrieves the set of modifications for this modify operation.EntrygetModifiedEntry()Retrieves the modified entry that is to be written to the backend.List<ByteString>getNewPasswords()Retrieves the set of clear-text new passwords for the user, if available.OperationTypegetOperationType()Retrieves the operation type for this operation.DngetProxiedAuthorizationDN()Retrieves the proxied authorization DN for this operation if proxied authorization has been requested.List<Control>getResponseControls()Retrieves the set of controls to include in the response to the client.voidremoveResponseControl(Control control)Removes the provided control from the set of controls to include in the response to the client.protected voidrun0()Performs the work of actually processing this operation.voidsetEntryDN(Dn entryDN)Specifies the entry DN as included in the client request.voidsetModifications(List<Modification> modifications)Specifies the set of modifications for this modify operation.voidsetProxiedAuthorizationDN(Dn proxiedAuthorizationDN)Set the proxied authorization DN for this operation if proxied authorization has been requested.voidtoString(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, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getClientConnection, getConnectionID, getContext, getErrorMessage, getLargestEntrySize, getLocalBackend, getMatchedDN, getMessageID, getOperationID, getReferralURLs, getRequestControl, getRequestControls, getResultCode, getServerContext, hashCode, hasPrivilege, hasRequestControl, invokePostResponseCallbacks, isInnerOperation, isInternalOperation, isProxyAuthzControl, isSynchronizationOperation, mustCheckSchema, operationCompleted, processOperationResult, processOperationResult, registerPostResponseCallback, removeAllDisallowedControls, removeAttachment, run, 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.PostCommitOperation
getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode
-
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.PostResponseOperation
getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode
-
Methods inherited from interface org.opends.server.types.operation.PostSynchronizationOperation
getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode
-
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
-
ModifyOperation
public ModifyOperation(org.forgerock.services.context.Context context, ModifyRequest modifyRequest)Creates a new modify operation with the provided information.- Parameters:
context- The context with which this operation is associated.modifyRequest- The modify request.
-
-
Method Detail
-
setEntryDN
public void setEntryDN(Dn entryDN)
Description copied from interface:PreParseModifyOperationSpecifies the entry DN as included in the client request.- Specified by:
setEntryDNin interfacePreParseModifyOperation- Parameters:
entryDN- The entry DN as included in the client request.
-
getEntryDN
public Dn getEntryDN()
Description copied from interface:PreOperationModifyOperationRetrieves the DN of the entry to modify.- Specified by:
getEntryDNin interfacePostCommitModifyOperation- Specified by:
getEntryDNin interfacePostOperationModifyOperation- Specified by:
getEntryDNin interfacePostResponseModifyOperation- Specified by:
getEntryDNin interfacePostSynchronizationModifyOperation- Specified by:
getEntryDNin interfacePreOperationModifyOperation- Specified by:
getEntryDNin interfacePreParseModifyOperation- Returns:
- The DN of the entry to modify.
-
setModifications
public void setModifications(List<Modification> modifications)
Description copied from interface:PreParseModifyOperationSpecifies the set of modifications for this modify operation.- Specified by:
setModificationsin interfacePreParseModifyOperation- Parameters:
modifications- The modifications for this modify operation.
-
getModifications
public List<Modification> 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:
getModificationsin interfacePostCommitModifyOperation- Specified by:
getModificationsin interfacePostOperationModifyOperation- Specified by:
getModificationsin interfacePostResponseModifyOperation- Specified by:
getModificationsin interfacePostSynchronizationModifyOperation- Specified by:
getModificationsin interfacePreOperationModifyOperation- Specified by:
getModificationsin interfacePreParseModifyOperation- Returns:
- The set of modifications for this modify operation, or
nullif the modifications have not yet been processed.
-
addModification
public void addModification(Modification modification) throws LdapException
Adds the provided modification to the set of modifications to this modify operation. This may only be called by pre-operation plugins.- Specified by:
addModificationin interfacePreOperationModifyOperation- Specified by:
addModificationin 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.
-
getOperationType
public OperationType getOperationType()
Description copied from interface:PluginOperationRetrieves the operation type for this operation.- Specified by:
getOperationTypein interfacePluginOperation- Returns:
- The operation type for this operation.
-
getProxiedAuthorizationDN
public Dn getProxiedAuthorizationDN()
Description copied from class:OperationRetrieves the proxied authorization DN for this operation if proxied authorization has been requested.- Specified by:
getProxiedAuthorizationDNin classOperation- Returns:
- The proxied authorization DN for this operation if proxied authorization has been requested, or
nullif proxied authorization has not been requested.
-
getResponseControls
public List<Control> getResponseControls()
Description copied from interface:PluginOperationRetrieves the set of controls to include in the response to the client. The contents of this list must not be altered.- Specified by:
getResponseControlsin interfacePluginOperation- Returns:
- The set of controls to include in the response to the client.
-
addResponseControl
public void addResponseControl(Control control)
Description copied from class:OperationAdds 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:
addResponseControlin interfacePostOperationOperation- Specified by:
addResponseControlin interfacePreOperationOperation- Specified by:
addResponseControlin interfacePreParseOperation- Specified by:
addResponseControlin 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:OperationRemoves 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:
removeResponseControlin interfacePostOperationOperation- Specified by:
removeResponseControlin interfacePreOperationOperation- Specified by:
removeResponseControlin interfacePreParseOperation- Specified by:
removeResponseControlin classOperation- Parameters:
control- The control to remove from the set of controls to include in the response to the client.
-
toString
public void toString(StringBuilder buffer)
Description copied from interface:PluginOperationAppends a string representation of this operation to the provided buffer.- Specified by:
toStringin interfacePluginOperation- Specified by:
toStringin classOperation- Parameters:
buffer- The buffer into which a string representation of this operation should be appended.
-
setProxiedAuthorizationDN
public void setProxiedAuthorizationDN(Dn proxiedAuthorizationDN)
Description copied from class:OperationSet the proxied authorization DN for this operation if proxied authorization has been requested.- Specified by:
setProxiedAuthorizationDNin classOperation- Parameters:
proxiedAuthorizationDN- The proxied authorization DN for this operation if proxied authorization has been requested, ornullif proxied authorization has not been requested.
-
run0
protected void run0()
Description copied from class:OperationPerforms the work of actually processing this operation.
-
getCurrentEntry
public Entry getCurrentEntry()
Retrieves the current entry before any modifications are applied. This will not be available to pre-parse plugins.- Specified by:
getCurrentEntryin interfacePostCommitModifyOperation- Specified by:
getCurrentEntryin interfacePostOperationModifyOperation- Specified by:
getCurrentEntryin interfacePostResponseModifyOperation- Specified by:
getCurrentEntryin interfacePostSynchronizationModifyOperation- Specified by:
getCurrentEntryin interfacePreOperationModifyOperation- Returns:
- The current entry, or
nullif it is not yet available.
-
getCurrentPasswords
public List<ByteString> getCurrentPasswords()
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. It will not be available to pre-parse plugins.- Specified by:
getCurrentPasswordsin interfacePostCommitModifyOperation- Specified by:
getCurrentPasswordsin interfacePostOperationModifyOperation- Specified by:
getCurrentPasswordsin interfacePostResponseModifyOperation- Specified by:
getCurrentPasswordsin interfacePostSynchronizationModifyOperation- Specified by:
getCurrentPasswordsin interfacePreOperationModifyOperation- Returns:
- The set of clear-text current password values as provided in the modify request, or
nullif there were none or this information is not yet available.
-
getModifiedEntry
public Entry getModifiedEntry()
Retrieves the modified entry that is to be written to the backend. This will be available to pre-operation plugins, and if such a plugin does make a change to this entry, then it is also necessary to add that change to the set of modifications to ensure that the update will be consistent.- Specified by:
getModifiedEntryin interfacePostCommitModifyOperation- Specified by:
getModifiedEntryin interfacePostOperationModifyOperation- Specified by:
getModifiedEntryin interfacePostResponseModifyOperation- Specified by:
getModifiedEntryin interfacePostSynchronizationModifyOperation- Specified by:
getModifiedEntryin interfacePreOperationModifyOperation- Returns:
- The modified entry that is to be written to the backend, or
nullif it is not yet available.
-
getNewPasswords
public List<ByteString> getNewPasswords()
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. It will not be available to pre-parse plugins.- Specified by:
getNewPasswordsin interfacePostCommitModifyOperation- Specified by:
getNewPasswordsin interfacePostOperationModifyOperation- Specified by:
getNewPasswordsin interfacePostResponseModifyOperation- Specified by:
getNewPasswordsin interfacePostSynchronizationModifyOperation- Specified by:
getNewPasswordsin interfacePreOperationModifyOperation- Returns:
- The set of clear-text new passwords as provided in the modify request, or
nullif there were none or this information is not yet available.
-
-