Package org.opends.server.core
Class ModifyDnOperation
java.lang.Object
org.opends.server.types.Operation
org.opends.server.core.ModifyDnOperation
- All Implemented Interfaces:
InProgressOperation
,PluginOperation
,PostCommitModifyDNOperation
,PostCommitOperation
,PostOperationModifyDNOperation
,PostOperationOperation
,PostResponseModifyDNOperation
,PostResponseOperation
,PostSynchronizationModifyDNOperation
,PostSynchronizationOperation
,PreOperationModifyDNOperation
,PreOperationOperation
,PreParseModifyDNOperation
,PreParseOperation
,SubordinateModifyDNOperation
public final class ModifyDnOperation
extends Operation
implements SubordinateModifyDNOperation, PreOperationModifyDNOperation, PreParseModifyDNOperation, PostOperationModifyDNOperation, PostResponseModifyDNOperation, PostCommitModifyDNOperation, PostSynchronizationModifyDNOperation
This class defines an operation used to move an entry (alter the DN of an entry) in the Directory Server.
-
Field Summary
Fields inherited from class org.opends.server.types.Operation
backend, context, out, pluginConfigManager, request, serverContext
-
Constructor Summary
ConstructorDescriptionModifyDnOperation
(RequestContext context, LocalBackend<?> backend, ModifyDnRequest request, Consumer<ResponseStream> out) Creates a new modify DN operation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addModification
(Modification modification) Adds the provided modification to the set of modifications to be applied as part of the update.void
addResponseControl
(Control control) Adds the provided control to the set of controls to include in the response to the client.boolean
Indicates whether the current RDN value should be removed from the entry.Retrieves the DN of the entry to rename.Retrieves the set of modifications applied to attributes of the target entry in the course of processing this modify DN operation.Retrieves the new RDN to use for the entry.Retrieves the newSuperior DN for the entry.Retrieves the current entry, before it is renamed.Returns the request associated to this operation.Retrieves the set of controls to include in the response to the client.Retrieves the new entry, as it will appear after it is renamed.protected void
Invokes any applicable post-response plugins.protected boolean
Invokes any applicable pre-parse plugins.void
removeResponseControl
(Control control) Removes the provided control from the set of controls to include in the response to the client.protected boolean
runImpl()
Performs the work of actually processing this operation.void
setDeleteOldRDN
(boolean deleteOldRDN) Specifies whether the current RDN value should be removed from the entry.void
setEntryDN
(Dn entryDN) Specifies the entry DN as included in the client request.void
Specifies the newRDN as included in the request from the client.void
setNewSuperior
(Dn newSuperior) Specifies the newSuperior for this modify DN operation, as provided in the request from 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, equals, evaluateProxyAuthControls, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getClientConnection, getConnectionID, getErrorMessage, getLargestEntrySize, getMatchedDN, getMessageID, getOperationID, getProxiedAuthorizationDN, getReferralURLs, getRequestContext, getRequestControl, getRequestControls, getResultCode, hashCode, hasPrivilege, hasRequestControl, isInternalOperation, isProxyAuthzControl, isSynchronizationOperation, mustCheckSchema, operationToResult, processOperationResult, removeAllDisallowedControls, run, sendResponses, sendResult, setAttachment, setErrorMessage, setMatchedDN, setReferralURLs, setResult, setResult, setResultCode, setResultCodeAndMessageNoInfoDisclosure, 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.InProgressOperation
addAdditionalLogItem, appendErrorMessage, getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode, setErrorMessage, setMatchedDN, setReferralURLs, setResult, setResultCode
Methods inherited from interface org.opends.server.types.operation.PluginOperation
checkIfCanceled, getAttachment, getAttachments, getClientConnection, getConnectionID, getMessageID, getOperationID, getRequestControl, getRequestControl, getRequestControls, hasPrivilege, isInternalOperation, isSynchronizationOperation, 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, sendResponses, setErrorMessage
Methods inherited from interface org.opends.server.types.operation.PreParseOperation
addAdditionalLogItem, addRequestControl, appendErrorMessage, getAdditionalLogItems, getErrorMessage, sendResponses, setErrorMessage
-
Constructor Details
-
ModifyDnOperation
public ModifyDnOperation(RequestContext context, LocalBackend<?> backend, ModifyDnRequest request, Consumer<ResponseStream> out) Creates a new modify DN 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.
-
-
Method Details
-
setEntryDN
Description copied from interface:PreParseModifyDNOperation
Specifies the entry DN as included in the client request. This should only be called by pre-parse plugins.- Specified by:
setEntryDN
in interfacePreParseModifyDNOperation
- Parameters:
entryDN
- The entry DN as included in the client request.
-
getEntryDN
Description copied from interface:SubordinateModifyDNOperation
Retrieves the DN of the entry to rename.- Specified by:
getEntryDN
in interfacePostCommitModifyDNOperation
- Specified by:
getEntryDN
in interfacePostOperationModifyDNOperation
- Specified by:
getEntryDN
in interfacePostResponseModifyDNOperation
- Specified by:
getEntryDN
in interfacePostSynchronizationModifyDNOperation
- Specified by:
getEntryDN
in interfacePreOperationModifyDNOperation
- Specified by:
getEntryDN
in interfacePreParseModifyDNOperation
- Specified by:
getEntryDN
in interfaceSubordinateModifyDNOperation
- Returns:
- The DN of the entry to rename.
-
setNewRDN
Description copied from interface:PreParseModifyDNOperation
Specifies the newRDN as included in the request from the client. This should only be called by pre-parse plugins and should not be used in later stages of processing.- Specified by:
setNewRDN
in interfacePreParseModifyDNOperation
- Parameters:
newRDN
- The newRDN as included in the request from the client.
-
getNewRDN
Description copied from interface:SubordinateModifyDNOperation
Retrieves the new RDN to use for the entry.- Specified by:
getNewRDN
in interfacePostCommitModifyDNOperation
- Specified by:
getNewRDN
in interfacePostOperationModifyDNOperation
- Specified by:
getNewRDN
in interfacePostResponseModifyDNOperation
- Specified by:
getNewRDN
in interfacePostSynchronizationModifyDNOperation
- Specified by:
getNewRDN
in interfacePreOperationModifyDNOperation
- Specified by:
getNewRDN
in interfacePreParseModifyDNOperation
- Specified by:
getNewRDN
in interfaceSubordinateModifyDNOperation
- Returns:
- The new RDN to use for the entry.
-
deleteOldRDN
public boolean deleteOldRDN()Description copied from interface:SubordinateModifyDNOperation
Indicates whether the current RDN value should be removed from the entry.- Specified by:
deleteOldRDN
in interfacePostCommitModifyDNOperation
- Specified by:
deleteOldRDN
in interfacePostOperationModifyDNOperation
- Specified by:
deleteOldRDN
in interfacePostResponseModifyDNOperation
- Specified by:
deleteOldRDN
in interfacePostSynchronizationModifyDNOperation
- Specified by:
deleteOldRDN
in interfacePreOperationModifyDNOperation
- Specified by:
deleteOldRDN
in interfacePreParseModifyDNOperation
- Specified by:
deleteOldRDN
in interfaceSubordinateModifyDNOperation
- Returns:
true
if the current RDN value should be removed from the entry, orfalse
if not.
-
setDeleteOldRDN
public void setDeleteOldRDN(boolean deleteOldRDN) Description copied from interface:PreParseModifyDNOperation
Specifies whether the current RDN value should be removed from the entry.- Specified by:
setDeleteOldRDN
in interfacePreParseModifyDNOperation
- Parameters:
deleteOldRDN
- Specifies whether the current RDN value should be removed from the entry.
-
setNewSuperior
Description copied from interface:PreParseModifyDNOperation
Specifies the newSuperior for this modify DN operation, as provided in the request from the client. This method should only be called by pre-parse plugins.- Specified by:
setNewSuperior
in interfacePreParseModifyDNOperation
- Parameters:
newSuperior
- The newSuperior as provided in the request from the client.
-
getNewSuperior
Description copied from interface:SubordinateModifyDNOperation
Retrieves the newSuperior DN for the entry.- Specified by:
getNewSuperior
in interfacePostCommitModifyDNOperation
- Specified by:
getNewSuperior
in interfacePostOperationModifyDNOperation
- Specified by:
getNewSuperior
in interfacePostResponseModifyDNOperation
- Specified by:
getNewSuperior
in interfacePostSynchronizationModifyDNOperation
- Specified by:
getNewSuperior
in interfacePreOperationModifyDNOperation
- Specified by:
getNewSuperior
in interfacePreParseModifyDNOperation
- Specified by:
getNewSuperior
in interfaceSubordinateModifyDNOperation
- Returns:
- The newSuperior DN for the entry, or
null
if there is no newSuperior DN for this request.
-
getModifications
Retrieves the set of modifications applied to attributes of the target entry in the course of processing this modify DN operation. This will include attribute-level changes from the modify DN itself (e.g., removing old RDN values if deleteOldRDN is set, or adding new RDN values that don't already exist), but it may also be used by pre-operation plugins to cause additional changes in the entry. In this case, those plugins may add modifications to this list (they may not remove existing modifications) if any changes should be processed in addition to the core modify DN processing. Backends may read this list to identify which attribute-level changes were applied in order to more easily apply updates to attribute indexes.- Specified by:
getModifications
in interfacePostCommitModifyDNOperation
- Specified by:
getModifications
in interfacePostOperationModifyDNOperation
- Specified by:
getModifications
in interfacePostResponseModifyDNOperation
- Specified by:
getModifications
in interfacePostSynchronizationModifyDNOperation
- Specified by:
getModifications
in interfacePreOperationModifyDNOperation
- Returns:
- The set of modifications applied to attributes during the course of the modify DN processing, or
null
if that information is not yet available (e.g., during pre-parse plugins).
-
addModification
Description copied from interface:PreOperationModifyDNOperation
Adds the provided modification to the set of modifications to be applied as part of the update. This should only be called by pre-operation plugins.- Specified by:
addModification
in interfacePreOperationModifyDNOperation
- Parameters:
modification
- The modification to add to the set of modifications to apply 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.
-
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
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 interfaceInProgressOperation
- 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
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 interfaceInProgressOperation
- 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.
-
runImpl
Description copied from class:Operation
Performs the work of actually processing this operation.- Specified by:
runImpl
in classOperation
- Returns:
true
if the result should be sent immediately, orfalse
if it will be sent later, e.g. as part of a persistent search.- 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
- Returns:
true
if processing should continue.- 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
-
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.
-
getOriginalEntry
Description copied from interface:SubordinateModifyDNOperation
Retrieves the current entry, before it is renamed. This will not be available to pre-parse plugins or during the conflict resolution portion of the synchronization processing.- Specified by:
getOriginalEntry
in interfacePostCommitModifyDNOperation
- Specified by:
getOriginalEntry
in interfacePostOperationModifyDNOperation
- Specified by:
getOriginalEntry
in interfacePostResponseModifyDNOperation
- Specified by:
getOriginalEntry
in interfacePostSynchronizationModifyDNOperation
- Specified by:
getOriginalEntry
in interfacePreOperationModifyDNOperation
- Specified by:
getOriginalEntry
in interfaceSubordinateModifyDNOperation
- Returns:
- The current entry, or
null
if it is not yet available.
-
getUpdatedEntry
Description copied from interface:SubordinateModifyDNOperation
Retrieves the new entry, as it will appear after it is renamed. This will not be available to pre-parse plugins or during the conflict resolution portion of the synchronization processing.- Specified by:
getUpdatedEntry
in interfacePostCommitModifyDNOperation
- Specified by:
getUpdatedEntry
in interfacePostOperationModifyDNOperation
- Specified by:
getUpdatedEntry
in interfacePostResponseModifyDNOperation
- Specified by:
getUpdatedEntry
in interfacePostSynchronizationModifyDNOperation
- Specified by:
getUpdatedEntry
in interfacePreOperationModifyDNOperation
- Specified by:
getUpdatedEntry
in interfaceSubordinateModifyDNOperation
- Returns:
- The updated entry, or
null
if it is not yet available.
-