Package org.opends.server.core
Class AddOperation
java.lang.Object
org.opends.server.types.Operation
org.opends.server.core.AddOperation
- All Implemented Interfaces:
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
backend, context, out, pluginConfigManager, request, result, serverContext
-
Constructor Summary
ConstructorsConstructorDescriptionAddOperation
(RequestContext context, LocalBackend<?> backend, AddRequest request, Consumer<Response> out, ServerContext serverContext) Creates a new add operation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAttribute
(Attribute attribute) Adds the provided attribute to the set of attributes for this add operation.void
addObjectClass
(ObjectClass objectClass, String name) Adds the provided objectclass to the entry to add.Retrieves the set of attributes as read from the client request.Retrieves the DN of the entry to add.Retrieves the entry to be added to the server.Returns the request associated to this operation.protected void
Invokes any applicable post-response plugins.protected void
Invokes any applicable pre-parse plugins.void
removeAttribute
(AttributeType attributeType) Removes the specified attribute from the entry to add.void
removeObjectClass
(ObjectClass objectClass) Removes the provided objectclass from the entry to add.void
replaceAttribute
(Attribute attribute) Adds all of the attribute values contained inattribute
to this entry, replacing any existing attribute values (optional operation).protected Result
runImpl()
Performs the work of actually processing this operation.void
setEntryDN
(Dn entryDN) Specifies the entry DN for the entry to add.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, addResponseControl, checkAttributeConformsToSyntax, checkIfBackendIsWritable, checkIfCanceled, createLdapException, equals, evaluateProxyAuthControls, filterNonDisclosableMatchedDn, getAccessControlHandler, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getClientConnection, getConnectionID, getMessageID, getOperationID, getProxiedAuthorizationDN, getRequestContext, getRequestControl, getRequestControls, getResponseControls, getResult, getResultCode, hashCode, hasPrivilege, hasRequestControl, isInternalOperation, isProxyAuthzControl, isSynchronizationOperation, mustCheckSchema, operationToResult, removeAllDisallowedControls, removeResponseControl, run, sendIntermediateResponse, sendResult, setAttachment, setResult, setResult, 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, getAttachment, getAttachments, getClientConnection, getConnectionID, getMessageID, getOperationID, getRequestControl, getRequestControl, getRequestControls, getResponseControls, hasPrivilege, isInternalOperation, isSynchronizationOperation, setAttachment, toString
Methods inherited from interface org.opends.server.types.operation.PostCommitOperation
getAdditionalLogItems, getAuthorizationDN, getResultCode
Methods inherited from interface org.opends.server.types.operation.PostOperationOperation
addAdditionalLogItem, addResponseControl, getAdditionalLogItems, getAuthorizationDN, getResultCode, removeResponseControl, setResult, setResult
Methods inherited from interface org.opends.server.types.operation.PostResponseOperation
getAdditionalLogItems, getAuthorizationDN, getResultCode
Methods inherited from interface org.opends.server.types.operation.PostSynchronizationOperation
getAdditionalLogItems, getAuthorizationDN, getResultCode
Methods inherited from interface org.opends.server.types.operation.PreOperationOperation
addAdditionalLogItem, addResponseControl, getAdditionalLogItems, getAuthorizationDN, removeResponseControl, sendIntermediateResponse
Methods inherited from interface org.opends.server.types.operation.PreParseOperation
addAdditionalLogItem, addRequestControl, addResponseControl, getAdditionalLogItems, removeResponseControl, sendIntermediateResponse
-
Constructor Details
-
AddOperation
public AddOperation(RequestContext context, LocalBackend<?> backend, AddRequest request, Consumer<Response> out, ServerContext serverContext) Creates a new add 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.serverContext
- the server context
-
-
Method Details
-
setEntryDN
Description copied from interface:PreParseAddOperation
Specifies the entry DN for the entry to add.- Specified by:
setEntryDN
in interfacePreParseAddOperation
- Parameters:
entryDN
- The entry DN for the entry to add.
-
getEntryDN
Description copied from interface:PreParseAddOperation
Retrieves the DN of the entry to add.- Specified by:
getEntryDN
in interfacePostCommitAddOperation
- Specified by:
getEntryDN
in interfacePostOperationAddOperation
- Specified by:
getEntryDN
in interfacePostResponseAddOperation
- Specified by:
getEntryDN
in interfacePostSynchronizationAddOperation
- Specified by:
getEntryDN
in interfacePreOperationAddOperation
- Specified by:
getEntryDN
in interfacePreParseAddOperation
- Returns:
- The DN of the entry to add.
-
addAttribute
Description copied from interface:PreParseAddOperation
Adds the provided attribute to the set of attributes for this add operation.- Specified by:
addAttribute
in interfacePreParseAddOperation
- Parameters:
attribute
- The attribute to add to the set of attributes for this add operation.
-
addObjectClass
Description copied from interface:PreOperationAddOperation
Adds the provided objectclass to the entry to add. 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:
addObjectClass
in interfacePreOperationAddOperation
- Parameters:
objectClass
- The objectclass to add to the entry.name
- The name to use for the objectclass.
-
removeObjectClass
Description copied from interface:PreOperationAddOperation
Removes the provided objectclass from the entry to add. 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:
removeObjectClass
in interfacePreOperationAddOperation
- Parameters:
objectClass
- The objectclass to remove from the entry.
-
getAllAttributes
Description copied from interface:PreParseAddOperation
Retrieves 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:
getAllAttributes
in interfacePostCommitAddOperation
- Specified by:
getAllAttributes
in interfacePostOperationAddOperation
- Specified by:
getAllAttributes
in interfacePostResponseAddOperation
- Specified by:
getAllAttributes
in interfacePostSynchronizationAddOperation
- Specified by:
getAllAttributes
in interfacePreOperationAddOperation
- Specified by:
getAllAttributes
in interfacePreParseAddOperation
- Returns:
- The set of attributes as read from the client request.
-
replaceAttribute
Description copied from interface:PreOperationAddOperation
Adds all of the attribute values contained inattribute
to this entry, replacing any existing attribute values (optional operation). Ifattribute
is 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:
replaceAttribute
in 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
Description copied from interface:PreOperationAddOperation
Removes the specified attribute from the entry to add. 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:
removeAttribute
in interfacePreOperationAddOperation
- Parameters:
attributeType
- The attribute tyep for the attribute to remove.
-
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.
-
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.
-
runImpl
Description copied from class:Operation
Performs the work of actually processing this operation.- Specified by:
runImpl
in classOperation
- Returns:
null
if the result is delayed (e.g. persistent search),Result
otherwise.- 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
- 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
-
getEntryToAdd
Description copied from interface:PreOperationAddOperation
Retrieves the entry to be added to the server. The contents of the returned entry must not be altered by the caller.- Specified by:
getEntryToAdd
in interfacePostCommitAddOperation
- Specified by:
getEntryToAdd
in interfacePostOperationAddOperation
- Specified by:
getEntryToAdd
in interfacePostResponseAddOperation
- Specified by:
getEntryToAdd
in interfacePostSynchronizationAddOperation
- Specified by:
getEntryToAdd
in interfacePreOperationAddOperation
- Returns:
- The entry to be added to the server.
-