Interface AddRequest
-
- All Superinterfaces:
ChangeRecord
,Entry
,ProtocolOp
,Request
public interface AddRequest extends Request, ChangeRecord, Entry
The Add operation allows a client to request the addition of an entry into the Directory.The RDN attribute(s) may or may not be included in the Add request. NO-USER-MODIFICATION attributes such as the
createTimestamp
orcreatorsName
attributes must not be included, since the server maintains these automatically.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.forgerock.opendj.ldap.messages.Request
Request.RequestType
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AddRequest
addAttribute(String attributeDescription, Object... values)
Ensures that this entry contains the provided attribute and values (optional operation).boolean
addAttribute(Attribute attribute)
Ensures that this entry contains the provided attribute and values (optional operation).boolean
addAttribute(Attribute attribute, Collection<? super ByteString> duplicateValues)
Ensures that this entry contains the provided attribute and values (optional operation).AddRequest
addControl(Control control)
Adds the provided control to this protocol-op.AddRequest
addControls(Iterable<? extends Control> controls)
Adds the provided controls to this protocol-op.AddRequest
clearAttributes()
Removes all the attributes from this entry (optional operation).boolean
containsAttribute(String attributeDescription, Object... values)
Returnstrue
if this entry contains all of the attribute values contained invalues
.boolean
containsAttribute(Attribute attribute, Collection<? super ByteString> missingValues)
Returnstrue
if this entry contains all of the attribute values contained inattribute
.Iterable<Attribute>
getAllAttributes()
Returns anIterable
containing all of the attributes in this entry.Iterable<Attribute>
getAllAttributes(String attributeDescription)
Returns anIterable
containing all the attributes in this entry having an attribute description which is a sub-type of the provided attribute description.Iterable<Attribute>
getAllAttributes(AttributeDescription attributeDescription)
Returns anIterable
containing all the attributes in this entry having an attribute description which is a sub-type of the provided attribute description.Attribute
getAttribute(String attributeDescription)
Returns the named attribute contained in this entry, ornull
if it is not included with this entry.Attribute
getAttribute(AttributeDescription attributeDescription)
Returns the named attribute contained in this entry, ornull
if it is not included with this entry.int
getAttributeCount()
Returns the number of attributes in this entry.<C extends Control>
CgetControl(ControlDecoder<C> decoder, DecodeOptions options)
Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.List<Control>
getControls()
Returns aList
containing the controls included with this protocol-op.Dn
getName()
Returns the distinguished name of the entry being modified by thisChangeRecord
.AddRequest
removeAttribute(String attributeDescription, Object... values)
Removes all of the attribute values contained invalues
from the named attribute in this entry if it is present (optional operation).boolean
removeAttribute(AttributeDescription attributeDescription)
Removes the named attribute from this entry if it is present (optional operation).boolean
removeAttribute(Attribute attribute, Collection<? super ByteString> missingValues)
Removes all of the attribute values contained inattribute
from this entry if it is present (optional operation).AddRequest
replaceAttribute(String attributeDescription, Object... values)
Adds all of the attribute values contained invalues
to this entry, replacing any existing attribute values (optional operation).boolean
replaceAttribute(Attribute attribute)
Adds all of the attribute values contained inattribute
to this entry, replacing any existing attribute values (optional operation).AddRequest
setName(String dn)
Sets the distinguished name of the entry to be updated.AddRequest
setName(Dn dn)
Sets the distinguished name of the entry to be updated.-
Methods inherited from interface org.forgerock.opendj.ldap.Entry
addAttributeIfAbsent, containsAnyAttributes, containsAnyAttributes, containsAttribute, equals, hashCode, mergeAttribute, parseAttribute, parseAttribute, toString
-
Methods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl
-
-
-
-
Method Detail
-
addAttribute
boolean addAttribute(Attribute attribute)
Description copied from interface:Entry
Ensures that this entry contains the provided attribute and values (optional operation). This method has the following semantics:- If this entry does not already contain an attribute with a
matching
attribute description, then this entry will be modified such that it containsattribute
, even if it is empty. - If this entry already contains an attribute with a
matching
attribute description, then the attribute values contained inattribute
will be merged with the existing attribute values.
NOTE: When
attribute
is non-empty, this method implements LDAP Modify add semantics.- Specified by:
addAttribute
in interfaceEntry
- Parameters:
attribute
- The attribute values to be added to this entry, merging with any existing attribute values.- Returns:
true
if this entry changed as a result of this call.
- If this entry does not already contain an attribute with a
-
addAttribute
boolean addAttribute(Attribute attribute, Collection<? super ByteString> duplicateValues)
Description copied from interface:Entry
Ensures that this entry contains the provided attribute and values (optional operation). This method has the following semantics:- If this entry does not already contain an attribute with a
matching
attribute description, then this entry will be modified such that it containsattribute
, even if it is empty. - If this entry already contains an attribute with a
matching
attribute description, then the attribute values contained inattribute
will be merged with the existing attribute values.
NOTE: When
attribute
is non-empty, this method implements LDAP Modify add semantics.- Specified by:
addAttribute
in interfaceEntry
- Parameters:
attribute
- The attribute values to be added to this entry, merging with any existing attribute values.duplicateValues
- A collection into which duplicate values will be added, ornull
if duplicate values should not be saved.- Returns:
true
if this entry changed as a result of this call.
- If this entry does not already contain an attribute with a
-
addAttribute
AddRequest addAttribute(String attributeDescription, Object... values)
Description copied from interface:Entry
Ensures that this entry contains the provided attribute and values (optional operation). This method has the following semantics:- If this entry does not already contain an attribute with a
matching
attribute description, then this entry will be modified such that it containsattribute
, even if it is empty. - If this entry already contains an attribute with a
matching
attribute description, then the attribute values contained inattribute
will be merged with the existing attribute values.
The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of
ByteString
will be converted using theByteString.valueOfObject(Object)
method.NOTE: When
attribute
is non-empty, this method implements LDAP Modify add semantics.- Specified by:
addAttribute
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attribute whose values are to be added.values
- The attribute values to be added to this entry, merging any existing attribute values.- Returns:
- This entry.
- If this entry does not already contain an attribute with a
-
addControl
AddRequest addControl(Control control)
Description copied from interface:ProtocolOp
Adds the provided control to this protocol-op.- Specified by:
addControl
in interfaceChangeRecord
- Specified by:
addControl
in interfaceProtocolOp
- Specified by:
addControl
in interfaceRequest
- Parameters:
control
- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
AddRequest addControls(Iterable<? extends Control> controls)
Description copied from interface:ProtocolOp
Adds the provided controls to this protocol-op.- Specified by:
addControls
in interfaceChangeRecord
- Specified by:
addControls
in interfaceProtocolOp
- Specified by:
addControls
in interfaceRequest
- Parameters:
controls
- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
clearAttributes
AddRequest clearAttributes()
Description copied from interface:Entry
Removes all the attributes from this entry (optional operation).- Specified by:
clearAttributes
in interfaceEntry
- Returns:
- This entry.
-
containsAttribute
boolean containsAttribute(Attribute attribute, Collection<? super ByteString> missingValues)
Description copied from interface:Entry
Returnstrue
if this entry contains all of the attribute values contained inattribute
. Ifattribute
is empty then this method will returntrue
if the attribute is present in this entry, regardless of how many values it contains.- Specified by:
containsAttribute
in interfaceEntry
- Parameters:
attribute
- The attribute values whose presence in this entry is to be tested.missingValues
- A collection into which missing values will be added, ornull
if missing values should not be saved.- Returns:
true
if this entry contains all of the attribute values contained inattribute
.
-
containsAttribute
boolean containsAttribute(String attributeDescription, Object... values)
Description copied from interface:Entry
Returnstrue
if this entry contains all of the attribute values contained invalues
. Ifvalues
isnull
or empty then this method will returntrue
if the attribute is present in this entry, regardless of how many values it contains.The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of
ByteString
will be converted using theByteString.valueOfObject(Object)
method.- Specified by:
containsAttribute
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attribute whose presence in this entry is to be tested.values
- The attribute values whose presence in this entry is to be tested, which may benull
.- Returns:
true
if this entry contains all of the attribute values contained invalues
.
-
getAllAttributes
Iterable<Attribute> getAllAttributes()
Description copied from interface:Entry
Returns anIterable
containing all of the attributes in this entry. The returnedIterable
may be used to remove attributes if permitted by this entry.- Specified by:
getAllAttributes
in interfaceEntry
- Returns:
- An
Iterable
containing all of the attributes.
-
getAllAttributes
Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription)
Description copied from interface:Entry
Returns anIterable
containing all the attributes in this entry having an attribute description which is a sub-type of the provided attribute description. The returnedIterable
may be used to remove attributes if permitted by this entry.- Specified by:
getAllAttributes
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attributes to be returned.- Returns:
- An
Iterable
containing the matching attributes.
-
getAllAttributes
Iterable<Attribute> getAllAttributes(String attributeDescription)
Description copied from interface:Entry
Returns anIterable
containing all the attributes in this entry having an attribute description which is a sub-type of the provided attribute description. The returnedIterable
may be used to remove attributes if permitted by this entry.The attribute description will be decoded using the schema associated with this entry (usually the default schema).
- Specified by:
getAllAttributes
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attributes to be returned.- Returns:
- An
Iterable
containing the matching attributes.
-
getAttribute
Attribute getAttribute(AttributeDescription attributeDescription)
Description copied from interface:Entry
Returns the named attribute contained in this entry, ornull
if it is not included with this entry.- Specified by:
getAttribute
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attribute to be returned.- Returns:
- The named attribute, or
null
if it is not included with this entry.
-
getAttribute
Attribute getAttribute(String attributeDescription)
Description copied from interface:Entry
Returns the named attribute contained in this entry, ornull
if it is not included with this entry.The attribute description will be decoded using the schema associated with this entry (usually the default schema).
- Specified by:
getAttribute
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attribute to be returned.- Returns:
- The named attribute, or
null
if it is not included with this entry.
-
getAttributeCount
int getAttributeCount()
Description copied from interface:Entry
Returns the number of attributes in this entry.- Specified by:
getAttributeCount
in interfaceEntry
- Returns:
- The number of attributes.
-
getControl
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
Description copied from interface:ProtocolOp
Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.- Specified by:
getControl
in interfaceProtocolOp
- Type Parameters:
C
- The type of control to be decoded and returned.- Parameters:
decoder
- The control decoder.options
- The set of decode options which should be used when decoding the control.- Returns:
- The decoded control, or
null
if the control is not included with this protocol-op. - Throws:
DecodeException
- If the control could not be decoded because it was malformed in some way (e.g. the control value was missing, or its content could not be decoded).
-
getControls
List<Control> getControls()
Description copied from interface:ProtocolOp
Returns aList
containing the controls included with this protocol-op. The returnedList
may be modified if permitted by this protocol-op.- Specified by:
getControls
in interfaceProtocolOp
- Returns:
- A
List
containing the controls.
-
getName
Dn getName()
Description copied from interface:ChangeRecord
Returns the distinguished name of the entry being modified by thisChangeRecord
.- Specified by:
getName
in interfaceChangeRecord
- Specified by:
getName
in interfaceEntry
- Returns:
- The distinguished name of the entry being modified.
-
removeAttribute
boolean removeAttribute(Attribute attribute, Collection<? super ByteString> missingValues)
Description copied from interface:Entry
Removes all of the attribute values contained inattribute
from this entry if it is present (optional operation). Ifattribute
is empty then the entire attribute will be removed if it is present.NOTE: This method implements LDAP Modify delete semantics.
- Specified by:
removeAttribute
in interfaceEntry
- Parameters:
attribute
- The attribute values to be removed from this entry, which may be empty if the entire attribute is to be removed.missingValues
- A collection into which missing values will be added, ornull
if missing values should not be saved.- Returns:
true
if this entry changed as a result of this call.
-
removeAttribute
boolean removeAttribute(AttributeDescription attributeDescription)
Description copied from interface:Entry
Removes the named attribute from this entry if it is present (optional operation). If this attribute does not contain the attribute, the call leaves this entry unchanged and returnsfalse
.- Specified by:
removeAttribute
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attribute to be removed.- Returns:
true
if this entry changed as a result of this call.
-
removeAttribute
AddRequest removeAttribute(String attributeDescription, Object... values)
Description copied from interface:Entry
Removes all of the attribute values contained invalues
from the named attribute in this entry if it is present (optional operation). Ifvalues
isnull
or empty then the entire attribute will be removed if it is present.The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of
ByteString
will be converted using theByteString.valueOfObject(Object)
method.NOTE: This method implements LDAP Modify delete semantics.
- Specified by:
removeAttribute
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attribute whose values are to be removed.values
- The attribute values to be removed from this entry, which may benull
or empty if the entire attribute is to be removed.- Returns:
- This entry.
-
replaceAttribute
boolean replaceAttribute(Attribute attribute)
Description copied from interface:Entry
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 interfaceEntry
- 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.- Returns:
true
if this entry changed as a result of this call.
-
replaceAttribute
AddRequest replaceAttribute(String attributeDescription, Object... values)
Description copied from interface:Entry
Adds all of the attribute values contained invalues
to this entry, replacing any existing attribute values (optional operation). Ifvalues
isnull
or empty then the entire attribute will be removed if it is present.The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of
ByteString
will be converted using theByteString.valueOfObject(Object)
method.NOTE: This method implements LDAP Modify replace semantics as described in RFC 4511 - Section 4.6. Modify Operation.
- Specified by:
replaceAttribute
in interfaceEntry
- Parameters:
attributeDescription
- The name of the attribute whose values are to be replaced.values
- The attribute values to be added to this entry, replacing any existing attribute values, and which may benull
or empty if the entire attribute is to be removed.- Returns:
- This entry.
-
setName
AddRequest setName(Dn dn)
Description copied from interface:ChangeRecord
Sets the distinguished name of the entry to be updated. The server shall not perform any alias dereferencing in determining the object to be updated.- Specified by:
setName
in interfaceChangeRecord
- Specified by:
setName
in interfaceEntry
- Parameters:
dn
- The the distinguished name of the entry to be updated.- Returns:
- This change record.
-
setName
AddRequest setName(String dn)
Description copied from interface:ChangeRecord
Sets the distinguished name of the entry to be updated. The server shall not perform any alias dereferencing in determining the object to be updated.- Specified by:
setName
in interfaceChangeRecord
- Specified by:
setName
in interfaceEntry
- Parameters:
dn
- The the distinguished name of the entry to be updated.- Returns:
- This change record.
-
-