org.opends.server.workflowelement.localbackend
Class LocalBackendModifyOperation

java.lang.Object
  extended by org.opends.server.core.OperationWrapper
      extended by org.opends.server.core.ModifyOperationWrapper
          extended by org.opends.server.workflowelement.localbackend.LocalBackendModifyOperation
All Implemented Interfaces:
ModifyOperation, Operation, PluginOperation, PostOperationModifyOperation, PostOperationOperation, PostResponseModifyOperation, PostResponseOperation, PostSynchronizationModifyOperation, PostSynchronizationOperation, PreOperationModifyOperation, PreOperationOperation

public class LocalBackendModifyOperation
extends ModifyOperationWrapper
implements PreOperationModifyOperation, PostOperationModifyOperation, PostResponseModifyOperation, PostSynchronizationModifyOperation

This class defines an operation used to modify an entry in a local backend of the Directory Server.


Field Summary
 
Fields inherited from interface org.opends.server.types.Operation
LOCALBACKENDOPERATIONS
 
Constructor Summary
LocalBackendModifyOperation(ModifyOperation modify)
          Creates a new operation that may be used to modify an entry in a local backend of the Directory Server.
 
Method Summary
 void addModification(Modification modification)
          Adds the provided modification to the set of modifications to this modify operation.
 Entry getCurrentEntry()
          Retrieves the current entry before any modifications are applied.
 java.util.List<AttributeValue> getCurrentPasswords()
          Retrieves the set of clear-text current passwords for the user, if available.
 Entry getModifiedEntry()
          Retrieves the modified entry that is to be written to the backend.
 java.util.List<AttributeValue> getNewPasswords()
          Retrieves the set of clear-text new passwords for the user, if available.
 void performAdditionalPasswordChangedProcessing()
          Performs additional preliminary processing that is required for a password change.
 
Methods inherited from class org.opends.server.core.ModifyOperationWrapper
addRawModification, equals, getChangeNumber, getEntryDN, getModifications, getProxiedAuthorizationDN, getRawEntryDN, getRawModifications, hashCode, setChangeNumber, setProxiedAuthorizationDN, setRawEntryDN, setRawModifications, toString
 
Methods inherited from class org.opends.server.core.OperationWrapper
abort, addRequestControl, addResponseControl, appendAdditionalLogMessage, appendErrorMessage, cancel, checkIfCanceled, disconnectClient, dontSynchronize, getAdditionalLogMessage, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getCancelRequest, getCancelResult, getClientConnection, getCommonLogElements, getConnectionID, getErrorMessage, getMatchedDN, getMessageID, getOperationID, getOperationType, getProcessingNanoTime, getProcessingStartTime, getProcessingStopTime, getProcessingTime, getReferralURLs, getRequestControls, getRequestLogElements, getResponseControls, getResponseLogElements, getResultCode, isInternalOperation, isSynchronizationOperation, operationCompleted, removeAttachment, removeRequestControl, removeResponseControl, setAdditionalLogMessage, setAttachment, setAttachments, setAuthorizationEntry, setDontSynchronize, setErrorMessage, setInternalOperation, setMatchedDN, setReferralURLs, setResponseData, setResultCode, setSynchronizationOperation, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opends.server.types.operation.PreOperationModifyOperation
getEntryDN, getModifications, getRawEntryDN, getRawModifications
 
Methods inherited from interface org.opends.server.types.operation.PreOperationOperation
addResponseControl, appendAdditionalLogMessage, appendErrorMessage, getAdditionalLogMessage, getAuthorizationDN, getErrorMessage, removeResponseControl, setAdditionalLogMessage, setErrorMessage
 
Methods inherited from interface org.opends.server.types.operation.PostOperationModifyOperation
getEntryDN, getModifications, getRawEntryDN, getRawModifications
 
Methods inherited from interface org.opends.server.types.operation.PostOperationOperation
addResponseControl, appendAdditionalLogMessage, appendErrorMessage, getAdditionalLogMessage, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode, removeResponseControl, setAdditionalLogMessage, setErrorMessage, setMatchedDN, setReferralURLs, setResponseData, setResultCode
 
Methods inherited from interface org.opends.server.types.operation.PostResponseModifyOperation
getEntryDN, getModifications, getRawEntryDN, getRawModifications
 
Methods inherited from interface org.opends.server.types.operation.PostResponseOperation
getAdditionalLogMessage, getAuthorizationDN, getErrorMessage, getMatchedDN, getProcessingStopTime, getProcessingTime, getReferralURLs, getResultCode
 
Methods inherited from interface org.opends.server.types.operation.PostSynchronizationModifyOperation
getEntryDN, getModifications, getRawEntryDN, getRawModifications
 
Methods inherited from interface org.opends.server.types.operation.PostSynchronizationOperation
getAdditionalLogMessage, getAuthorizationDN, getErrorMessage, getMatchedDN, getProcessingStopTime, getProcessingTime, getReferralURLs, getResultCode
 
Methods inherited from interface org.opends.server.types.operation.PluginOperation
checkIfCanceled, disconnectClient, getAttachment, getAttachments, getClientConnection, getConnectionID, getMessageID, getOperationID, getOperationType, getProcessingStartTime, getRequestControls, getResponseControls, isInternalOperation, isSynchronizationOperation, removeAttachment, setAttachment, toString, toString
 
Methods inherited from interface org.opends.server.types.Operation
abort, addRequestControl, addResponseControl, appendAdditionalLogMessage, appendErrorMessage, cancel, checkIfCanceled, disconnectClient, dontSynchronize, getAdditionalLogMessage, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getCancelRequest, getCancelResult, getClientConnection, getCommonLogElements, getConnectionID, getErrorMessage, getMatchedDN, getMessageID, getOperationID, getOperationType, getProcessingNanoTime, getProcessingStartTime, getProcessingStopTime, getProcessingTime, getReferralURLs, getRequestControls, getRequestLogElements, getResponseControls, getResponseLogElements, getResultCode, isInternalOperation, isSynchronizationOperation, operationCompleted, removeAttachment, removeRequestControl, removeResponseControl, setAdditionalLogMessage, setAttachment, setAttachments, setAuthorizationEntry, setDontSynchronize, setErrorMessage, setInternalOperation, setMatchedDN, setReferralURLs, setResponseData, setResultCode, setSynchronizationOperation, toString
 

Constructor Detail

LocalBackendModifyOperation

public LocalBackendModifyOperation(ModifyOperation modify)
Creates a new operation that may be used to modify an entry in a local backend of the Directory Server.

Parameters:
modify - The operation to enhance.
Method Detail

getCurrentEntry

public final Entry getCurrentEntry()
Retrieves the current entry before any modifications are applied. This will not be available to pre-parse plugins.

Specified by:
getCurrentEntry in interface PostOperationModifyOperation
Specified by:
getCurrentEntry in interface PostResponseModifyOperation
Specified by:
getCurrentEntry in interface PostSynchronizationModifyOperation
Specified by:
getCurrentEntry in interface PreOperationModifyOperation
Returns:
The current entry, or null if it is not yet available.

getCurrentPasswords

public final java.util.List<AttributeValue> 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:
getCurrentPasswords in interface PostOperationModifyOperation
Specified by:
getCurrentPasswords in interface PostResponseModifyOperation
Specified by:
getCurrentPasswords in interface PostSynchronizationModifyOperation
Specified by:
getCurrentPasswords in interface PreOperationModifyOperation
Returns:
The set of clear-text current password values as provided in the modify request, or null if there were none or this information is not yet available.

getModifiedEntry

public final 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:
getModifiedEntry in interface PostOperationModifyOperation
Specified by:
getModifiedEntry in interface PostResponseModifyOperation
Specified by:
getModifiedEntry in interface PostSynchronizationModifyOperation
Specified by:
getModifiedEntry in interface PreOperationModifyOperation
Returns:
The modified entry that is to be written to the backend, or null if it is not yet available.

getNewPasswords

public final java.util.List<AttributeValue> 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:
getNewPasswords in interface PostOperationModifyOperation
Specified by:
getNewPasswords in interface PostResponseModifyOperation
Specified by:
getNewPasswords in interface PostSynchronizationModifyOperation
Specified by:
getNewPasswords in interface PreOperationModifyOperation
Returns:
The set of clear-text new passwords as provided in the modify request, or null if there were none or this information is not yet available.

addModification

public void addModification(Modification modification)
                     throws DirectoryException
Adds the provided modification to the set of modifications to this modify operation. In addition, the modification is applied to the modified entry. This may only be called by pre-operation plugins.

Specified by:
addModification in interface ModifyOperation
Specified by:
addModification in interface PreOperationModifyOperation
Overrides:
addModification in class ModifyOperationWrapper
Parameters:
modification - The modification to add to the set of changes for this modify operation.
Throws:
DirectoryException - If an unexpected problem occurs while applying the modification to the entry.

performAdditionalPasswordChangedProcessing

public void performAdditionalPasswordChangedProcessing()
                                                throws DirectoryException
Performs additional preliminary processing that is required for a password change.

Throws:
DirectoryException - If a problem occurs that should cause the modify operation to fail.