Package org.opends.server.core
Class AddOperation
- java.lang.Object
-
- org.opends.server.types.Operation
-
- org.opends.server.core.AddOperation
-
- All Implemented Interfaces:
Runnable,PluginOperation,PostCommitAddOperation,PostCommitOperation,PostOperationAddOperation,PostOperationOperation,PostResponseAddOperation,PostResponseOperation,PostSynchronizationAddOperation,PostSynchronizationOperation,PreOperationAddOperation,PreOperationOperation,PreParseAddOperation,PreParseOperation
public final class AddOperation extends Operation implements PreParseAddOperation, PreOperationAddOperation, PostOperationAddOperation, PostResponseAddOperation, PostCommitAddOperation, PostSynchronizationAddOperation
This class defines an operation that may be used to add a new entry to the Directory Server.
-
-
Field Summary
-
Fields inherited from class org.opends.server.types.Operation
requestContext
-
-
Constructor Summary
Constructors Constructor Description AddOperation(org.forgerock.services.context.Context context, AddRequest request)Creates a new add operation with the provided information.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAttribute(Attribute attribute)Adds the provided attribute to the set of attributes for this add operation.voidaddObjectClass(ObjectClass objectClass, String name)Adds the provided objectclass to the entry to add.voidaddResponseControl(Control control)Adds the provided control to the set of controls to include in the response to the client.Iterable<Attribute>getAllAttributes()Retrieves the set of attributes as read from the client request.DngetEntryDN()Retrieves the DN of the entry to add.EntrygetEntryToAdd()Retrieves the entry to be added to the server.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.voidremoveAttribute(AttributeType attributeType)Removes the specified attribute from the entry to add.voidremoveObjectClass(ObjectClass objectClass)Removes the provided objectclass from the entry to add.voidremoveResponseControl(Control control)Removes the provided control from the set of controls to include in the response to the client.voidreplaceAttribute(Attribute attribute)Adds all of the attribute values contained inattributeto this entry, replacing any existing attribute values (optional operation).voidrun()Performs the work of actually processing this operation.voidsetEntryDN(Dn entryDN)Specifies the entry DN for the entry to add.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, findMatchedDN, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getClientConnection, getConnectionID, getContext, getErrorMessage, getLargestEntrySize, getLocalBackend, getMatchedDN, getMessageID, getOperationID, getReferralURLs, getRequestControl, getRequestControls, getResultCode, getServerContext, hashCode, hasPrivilege, hasRequestControl, invokePostResponseCallbacks, isHumanReadable, isInnerOperation, isInternalOperation, isProxyAuthzControl, isSynchronizationOperation, mustCheckSchema, operationCompleted, processOperationResult, processOperationResult, registerPostResponseCallback, removeAllDisallowedControls, removeAttachment, 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
-
AddOperation
public AddOperation(org.forgerock.services.context.Context context, AddRequest request)Creates a new add operation with the provided information.- Parameters:
context- The context with which this operation is associated.request- The add request.
-
-
Method Detail
-
setEntryDN
public void setEntryDN(Dn entryDN)
Description copied from interface:PreParseAddOperationSpecifies the entry DN for the entry to add.- Specified by:
setEntryDNin interfacePreParseAddOperation- Parameters:
entryDN- The entry DN for the entry to add.
-
getEntryDN
public Dn getEntryDN()
Description copied from interface:PreParseAddOperationRetrieves the DN of the entry to add.- Specified by:
getEntryDNin interfacePostCommitAddOperation- Specified by:
getEntryDNin interfacePostOperationAddOperation- Specified by:
getEntryDNin interfacePostResponseAddOperation- Specified by:
getEntryDNin interfacePostSynchronizationAddOperation- Specified by:
getEntryDNin interfacePreOperationAddOperation- Specified by:
getEntryDNin interfacePreParseAddOperation- Returns:
- The DN of the entry to add.
-
addAttribute
public void addAttribute(Attribute attribute)
Description copied from interface:PreParseAddOperationAdds the provided attribute to the set of attributes for this add operation.- Specified by:
addAttributein interfacePreParseAddOperation- Parameters:
attribute- The attribute to add to the set of attributes for this add operation.
-
addObjectClass
public void addObjectClass(ObjectClass objectClass, String name)
Adds the provided objectclass to the entry to add. This should only be called from pre-operation plugins. Note that pre-operation plugin processing is invoked after access control and schema validation, so plugins should be careful to only make changes that will not violate either schema or access control rules.- Specified by:
addObjectClassin interfacePreOperationAddOperation- Parameters:
objectClass- The objectclass to add to the entry.name- The name to use for the objectclass.
-
removeObjectClass
public void removeObjectClass(ObjectClass objectClass)
Removes the provided objectclass from the entry to add. This should only be called from pre-operation plugins. Note that pre-operation plugin processing is invoked after access control and schema validation, so plugins should be careful to only make changes that will not violate either schema or access control rules.- Specified by:
removeObjectClassin interfacePreOperationAddOperation- Parameters:
objectClass- The objectclass to remove from the entry.
-
getAllAttributes
public Iterable<Attribute> getAllAttributes()
Description copied from interface:PreParseAddOperationRetrieves the set of attributes as read from the client request. Some of these attributes may be invalid as no validation will have been performed on them.- Specified by:
getAllAttributesin interfacePostCommitAddOperation- Specified by:
getAllAttributesin interfacePostOperationAddOperation- Specified by:
getAllAttributesin interfacePostResponseAddOperation- Specified by:
getAllAttributesin interfacePostSynchronizationAddOperation- Specified by:
getAllAttributesin interfacePreOperationAddOperation- Specified by:
getAllAttributesin interfacePreParseAddOperation- Returns:
- The set of attributes as read from the client request.
-
replaceAttribute
public void replaceAttribute(Attribute attribute)
Description copied from interface:PreOperationAddOperationAdds all of the attribute values contained inattributeto this entry, replacing any existing attribute values (optional operation). Ifattributeis empty then the entire attribute will be removed if it is present.NOTE: This method implements LDAP Modify replace semantics as described in RFC 4511 - Section 4.6. Modify Operation.
- Specified by:
replaceAttributein interfacePreOperationAddOperation- Parameters:
attribute- The attribute values to be added to this entry, replacing any existing attribute values, and which may be empty if the entire attribute is to be removed.
-
removeAttribute
public void removeAttribute(AttributeType attributeType)
Removes the specified attribute from the entry to add. This should only be called from pre-operation plugins. Note that pre-operation processing is invoked after access control and schema validation, so plugins should be careful to only make changes that will not violate either schema or access control rules.- Specified by:
removeAttributein interfacePreOperationAddOperation- Parameters:
attributeType- The attribute type for the attribute to remove.
-
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.
-
run
public void run()
Description copied from class:OperationPerforms the work of actually processing this operation. This should include all processing for the operation, including invoking pre-parse and post-response plugins, logging messages and any other work that might need to be done in the course of processing.
-
getEntryToAdd
public Entry getEntryToAdd()
Retrieves the entry to be added to the server. Note that this will not be available to pre-parse plugins or during the conflict resolution portion of the synchronization processing.- Specified by:
getEntryToAddin interfacePostCommitAddOperation- Specified by:
getEntryToAddin interfacePostOperationAddOperation- Specified by:
getEntryToAddin interfacePostResponseAddOperation- Specified by:
getEntryToAddin interfacePostSynchronizationAddOperation- Specified by:
getEntryToAddin interfacePreOperationAddOperation- Returns:
- The entry to be added to the server, or
nullif it is not yet available.
-
-