|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ModifyRequest
Modify request protocol message used to alter the attributes and values of an existing entry. Here's what RFC 2255 says about it:
4.6. Modify Operation
The Modify Operation allows a client to request that a modification
of an entry be performed on its behalf by a server. The Modify
Request is defined as follows:
ModifyRequest ::= [APPLICATION 6] SEQUENCE {
object LDAPDN,
modification SEQUENCE OF SEQUENCE {
operation ENUMERATED {
add (0),
delete (1),
replace (2) },
modification AttributeTypeAndValues } }
AttributeTypeAndValues ::= SEQUENCE {
type AttributeDescription,
vals SET OF AttributeValue }
Parameters of the Modify Request are:
- object: The object to be modified. The value of this field contains
the Dn of the entry to be modified. The server will not perform
any alias dereferencing in determining the object to be modified.
- modification: A list of modifications to be performed on the entry.
The entire list of entry modifications MUST be performed
in the order they are listed, as a single atomic operation. While
individual modifications may violate the directory schema, the
resulting entry after the entire list of modifications is performed
MUST conform to the requirements of the directory schema. The
values that may be taken on by the 'operation' field in each
modification construct have the following semantics respectively:
add: add values listed to the given attribute, creating
the attribute if necessary;
delete: delete values listed from the given attribute,
removing the entire attribute if no values are listed, or
if all current values of the attribute are listed for
deletion;
replace: replace all existing values of the given attribute
with the new values listed, creating the attribute if it
did not already exist. A replace with no value will delete
the entire attribute if it exists, and is ignored if the
attribute does not exist.
Notice that we tried to leverage as much as we already can from the JNDI.
Both the Names and ModificationItems are used here to make the API as easy
as possible to understand. We do not attempt here to write a JNDI provider
which losses the explicit request type usage that we are looking for. Also
note that this library is both for the client side as well as the server side
unlike the JNDI which is strictly for the client side. From the JNDI we
borrow good ideas and familiar signatures, interfaces and classes where we
can.
| Field Summary | |
|---|---|
static MessageTypeEnum |
RESP_TYPE
Modify response message type enumeration value |
static MessageTypeEnum |
TYPE
Modify request message type enumeration value |
| Method Summary | |
|---|---|
ModifyRequest |
add(Attribute attr)
marks a given attribute for addition in the target entry. |
ModifyRequest |
add(String attributeName,
byte[]... attributeValue)
|
ModifyRequest |
add(String attributeName,
String... attributeValue)
marks a given attribute for addition in the target entry with the given values. |
ModifyRequest |
addAllControls(Control[] controls)
Adds an array of controls to this Message. |
ModifyRequest |
addControl(Control control)
Adds a control to this Message. |
ModifyRequest |
addModification(Attribute attr,
ModificationOperation modOp)
Add a modification |
ModifyRequest |
addModification(Modification mod)
Adds a ModificationItem to the set of modifications composing this modify request. |
Collection<Modification> |
getModifications()
Gets an immutable Collection of modification items representing the atomic changes to perform on the candidate entry to modify. |
Dn |
getName()
Gets the distinguished name of the entry to be modified by this request. |
ModifyRequest |
remove(Attribute attr)
marks a given attribute for removal from the target entry. |
ModifyRequest |
remove(String attributeName,
byte[]... attributeValue)
|
ModifyRequest |
remove(String attributeName,
String... attributeValue)
marks a given attribute for removal with the given values from the target entry. |
ModifyRequest |
removeControl(Control control)
Deletes a control removing it from this Message. |
ModifyRequest |
removeModification(Modification mod)
Removes a ModificationItem to the set of modifications composing this modify request. |
ModifyRequest |
replace(Attribute attr)
marks a given attribute for replacement in the target entry. |
ModifyRequest |
replace(String attributeName)
|
ModifyRequest |
replace(String attributeName,
byte[]... attributeValue)
|
ModifyRequest |
replace(String attributeName,
String... attributeValue)
marks a given attribute for replacement with the given values in the target entry. |
ModifyRequest |
setMessageId(int messageId)
Sets the Message ID for this request |
ModifyRequest |
setName(Dn name)
Sets the distinguished name of the entry to be modified by this request. |
| Methods inherited from interface org.apache.directory.api.ldap.model.message.SingleReplyRequest |
|---|
getResponseType |
| Methods inherited from interface org.apache.directory.api.ldap.model.message.ResultResponseRequest |
|---|
getResultResponse |
| Methods inherited from interface org.apache.directory.api.ldap.model.message.Request |
|---|
hasResponse |
| Methods inherited from interface org.apache.directory.api.ldap.model.message.Message |
|---|
get, getControl, getControls, getMessageId, getType, hasControl, put |
| Methods inherited from interface org.apache.directory.api.ldap.model.message.AbandonableRequest |
|---|
abandon, addAbandonListener, isAbandoned |
| Field Detail |
|---|
static final MessageTypeEnum TYPE
static final MessageTypeEnum RESP_TYPE
| Method Detail |
|---|
Dn getName()
ModifyRequest setName(Dn name)
name - the Dn of the modified entry.
Collection<Modification> getModifications()
ModifyRequest addModification(Modification mod)
mod - a Modification to add.
ModifyRequest removeModification(Modification mod)
mod - a Modification to remove.
ModifyRequest remove(String attributeName,
String... attributeValue)
attributeName - name of the attribute to be addedattributeValue - values of the attribute
ModifyRequest remove(String attributeName,
byte[]... attributeValue)
remove(String, String...)ModifyRequest remove(Attribute attr)
attr - the attribute to be added
ModifyRequest addModification(Attribute attr,
ModificationOperation modOp)
attr - The attribute to be modifiedmodOp - The operation
ModifyRequest add(String attributeName,
String... attributeValue)
attributeName - name of the attribute to be addedattributeValue - values of the attribute
ModifyRequest add(String attributeName,
byte[]... attributeValue)
add(String, String...)ModifyRequest add(Attribute attr)
attr - the attribute to be added
ModifyRequest replace(String attributeName)
replace(String, String...)
ModifyRequest replace(String attributeName,
String... attributeValue)
attributeName - name of the attribute to be addedattributeValue - values of the attribute
ModifyRequest replace(String attributeName,
byte[]... attributeValue)
replace(String, String...)ModifyRequest replace(Attribute attr)
attr - the attribute to be added
ModifyRequest setMessageId(int messageId)
setMessageId in interface MessagemessageId - The message Id
ModifyRequest addControl(Control control)
throws MessageException
addControl in interface Messagecontrol - the control to add.
MessageException - if controls cannot be added to this Message or the control is
not known etc.
ModifyRequest addAllControls(Control[] controls)
throws MessageException
addAllControls in interface Messagecontrols - the controls to add.
MessageException - if controls cannot be added to this Message or they are not known etc.
ModifyRequest removeControl(Control control)
throws MessageException
removeControl in interface Messagecontrol - the control to remove.
MessageException - if controls cannot be added to this Message or the control is
not known etc.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||