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
ConstructorsConstructorDescriptionModifyDnOperation(RequestContext context, LocalBackend<?> backend, ModifyDnRequest request, Consumer<ResponseStream> out) Creates a new modify DN operation. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddModification(Modification modification) Adds the provided modification to the set of modifications to be applied as part of the update.voidaddResponseControl(Control control) Adds the provided control to the set of controls to include in the response to the client.booleanIndicates 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 voidInvokes any applicable post-response plugins.protected booleanInvokes any applicable pre-parse plugins.voidremoveResponseControl(Control control) Removes the provided control from the set of controls to include in the response to the client.protected booleanrunImpl()Performs the work of actually processing this operation.voidsetDeleteOldRDN(boolean deleteOldRDN) Specifies whether the current RDN value should be removed from the entry.voidsetEntryDN(Dn entryDN) Specifies the entry DN as included in the client request.voidSpecifies the newRDN as included in the request from the client.voidsetNewSuperior(Dn newSuperior) Specifies the newSuperior for this modify DN operation, as provided in the request from the client.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, 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, trySetLargestEntrySizeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.opends.server.types.operation.InProgressOperation
addAdditionalLogItem, appendErrorMessage, getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode, setErrorMessage, setMatchedDN, setReferralURLs, setResult, setResultCodeMethods inherited from interface org.opends.server.types.operation.PluginOperation
checkIfCanceled, getAttachment, getAttachments, getClientConnection, getConnectionID, getMessageID, getOperationID, getRequestControl, getRequestControl, getRequestControls, hasPrivilege, isInternalOperation, isSynchronizationOperation, setAttachment, toStringMethods inherited from interface org.opends.server.types.operation.PostCommitOperation
getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCodeMethods inherited from interface org.opends.server.types.operation.PostOperationOperation
addAdditionalLogItem, appendErrorMessage, getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode, setErrorMessage, setMatchedDN, setReferralURLs, setResult, setResultCodeMethods inherited from interface org.opends.server.types.operation.PostResponseOperation
getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCodeMethods inherited from interface org.opends.server.types.operation.PostSynchronizationOperation
getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCodeMethods inherited from interface org.opends.server.types.operation.PreOperationOperation
addAdditionalLogItem, appendErrorMessage, getAdditionalLogItems, getAuthorizationDN, getErrorMessage, sendResponses, setErrorMessageMethods 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:PreParseModifyDNOperationSpecifies the entry DN as included in the client request. This should only be called by pre-parse plugins.- Specified by:
setEntryDNin interfacePreParseModifyDNOperation- Parameters:
entryDN- The entry DN as included in the client request.
-
getEntryDN
Description copied from interface:SubordinateModifyDNOperationRetrieves the DN of the entry to rename.- Specified by:
getEntryDNin interfacePostCommitModifyDNOperation- Specified by:
getEntryDNin interfacePostOperationModifyDNOperation- Specified by:
getEntryDNin interfacePostResponseModifyDNOperation- Specified by:
getEntryDNin interfacePostSynchronizationModifyDNOperation- Specified by:
getEntryDNin interfacePreOperationModifyDNOperation- Specified by:
getEntryDNin interfacePreParseModifyDNOperation- Specified by:
getEntryDNin interfaceSubordinateModifyDNOperation- Returns:
- The DN of the entry to rename.
-
setNewRDN
Description copied from interface:PreParseModifyDNOperationSpecifies 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:
setNewRDNin interfacePreParseModifyDNOperation- Parameters:
newRDN- The newRDN as included in the request from the client.
-
getNewRDN
Description copied from interface:SubordinateModifyDNOperationRetrieves the new RDN to use for the entry.- Specified by:
getNewRDNin interfacePostCommitModifyDNOperation- Specified by:
getNewRDNin interfacePostOperationModifyDNOperation- Specified by:
getNewRDNin interfacePostResponseModifyDNOperation- Specified by:
getNewRDNin interfacePostSynchronizationModifyDNOperation- Specified by:
getNewRDNin interfacePreOperationModifyDNOperation- Specified by:
getNewRDNin interfacePreParseModifyDNOperation- Specified by:
getNewRDNin interfaceSubordinateModifyDNOperation- Returns:
- The new RDN to use for the entry.
-
deleteOldRDN
public boolean deleteOldRDN()Description copied from interface:SubordinateModifyDNOperationIndicates whether the current RDN value should be removed from the entry.- Specified by:
deleteOldRDNin interfacePostCommitModifyDNOperation- Specified by:
deleteOldRDNin interfacePostOperationModifyDNOperation- Specified by:
deleteOldRDNin interfacePostResponseModifyDNOperation- Specified by:
deleteOldRDNin interfacePostSynchronizationModifyDNOperation- Specified by:
deleteOldRDNin interfacePreOperationModifyDNOperation- Specified by:
deleteOldRDNin interfacePreParseModifyDNOperation- Specified by:
deleteOldRDNin interfaceSubordinateModifyDNOperation- Returns:
trueif the current RDN value should be removed from the entry, orfalseif not.
-
setDeleteOldRDN
public void setDeleteOldRDN(boolean deleteOldRDN) Description copied from interface:PreParseModifyDNOperationSpecifies whether the current RDN value should be removed from the entry.- Specified by:
setDeleteOldRDNin interfacePreParseModifyDNOperation- Parameters:
deleteOldRDN- Specifies whether the current RDN value should be removed from the entry.
-
setNewSuperior
Description copied from interface:PreParseModifyDNOperationSpecifies 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:
setNewSuperiorin interfacePreParseModifyDNOperation- Parameters:
newSuperior- The newSuperior as provided in the request from the client.
-
getNewSuperior
Description copied from interface:SubordinateModifyDNOperationRetrieves the newSuperior DN for the entry.- Specified by:
getNewSuperiorin interfacePostCommitModifyDNOperation- Specified by:
getNewSuperiorin interfacePostOperationModifyDNOperation- Specified by:
getNewSuperiorin interfacePostResponseModifyDNOperation- Specified by:
getNewSuperiorin interfacePostSynchronizationModifyDNOperation- Specified by:
getNewSuperiorin interfacePreOperationModifyDNOperation- Specified by:
getNewSuperiorin interfacePreParseModifyDNOperation- Specified by:
getNewSuperiorin interfaceSubordinateModifyDNOperation- Returns:
- The newSuperior DN for the entry, or
nullif 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:
getModificationsin interfacePostCommitModifyDNOperation- Specified by:
getModificationsin interfacePostOperationModifyDNOperation- Specified by:
getModificationsin interfacePostResponseModifyDNOperation- Specified by:
getModificationsin interfacePostSynchronizationModifyDNOperation- Specified by:
getModificationsin interfacePreOperationModifyDNOperation- Returns:
- The set of modifications applied to attributes during the course of the modify DN processing, or
nullif that information is not yet available (e.g., during pre-parse plugins).
-
addModification
Description copied from interface:PreOperationModifyDNOperationAdds 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:
addModificationin interfacePreOperationModifyDNOperation- Parameters:
modification- The modification to add to the set of modifications to apply to the entry.
-
getRequest
Description copied from class:OperationReturns the request associated to this operation.- Specified by:
getRequestin interfacePluginOperation- Overrides:
getRequestin classOperation- Returns:
- The request associated to this operation.
-
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
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 interfaceInProgressOperation- 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
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 interfaceInProgressOperation- 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.
-
runImpl
Description copied from class:OperationPerforms the work of actually processing this operation.- Specified by:
runImplin classOperation- Returns:
trueif the result should be sent immediately, orfalseif 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:OperationInvokes any applicable pre-parse plugins.- Specified by:
invokePreParsePluginsin classOperation- Returns:
trueif processing should continue.- Throws:
LdapException- If an error occurred when invoking the pre-parse plugins.
-
invokePostResponsePlugins
protected void invokePostResponsePlugins()Description copied from class:OperationInvokes any applicable post-response plugins.- Specified by:
invokePostResponsePluginsin classOperation
-
toString
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.
-
getOriginalEntry
Description copied from interface:SubordinateModifyDNOperationRetrieves 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:
getOriginalEntryin interfacePostCommitModifyDNOperation- Specified by:
getOriginalEntryin interfacePostOperationModifyDNOperation- Specified by:
getOriginalEntryin interfacePostResponseModifyDNOperation- Specified by:
getOriginalEntryin interfacePostSynchronizationModifyDNOperation- Specified by:
getOriginalEntryin interfacePreOperationModifyDNOperation- Specified by:
getOriginalEntryin interfaceSubordinateModifyDNOperation- Returns:
- The current entry, or
nullif it is not yet available.
-
getUpdatedEntry
Description copied from interface:SubordinateModifyDNOperationRetrieves 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:
getUpdatedEntryin interfacePostCommitModifyDNOperation- Specified by:
getUpdatedEntryin interfacePostOperationModifyDNOperation- Specified by:
getUpdatedEntryin interfacePostResponseModifyDNOperation- Specified by:
getUpdatedEntryin interfacePostSynchronizationModifyDNOperation- Specified by:
getUpdatedEntryin interfacePreOperationModifyDNOperation- Specified by:
getUpdatedEntryin interfaceSubordinateModifyDNOperation- Returns:
- The updated entry, or
nullif it is not yet available.
-