Interface AddRequest

All Superinterfaces:
ChangeRecord, Entry, 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 or creatorsName attributes must not be included, since the server maintains these automatically.

  • Method Details

    • accept

      <R, P> R accept(ChangeRecordVisitor<R,P> v, P p)
      Description copied from interface: ChangeRecord
      Applies a ChangeRecordVisitor to this ChangeRecord.
      Specified by:
      accept in interface ChangeRecord
      Type Parameters:
      R - The return type of the visitor's methods.
      P - The type of the additional parameters to the visitor's methods.
      Parameters:
      v - The change record visitor.
      p - Optional additional visitor parameter.
      Returns:
      A result as specified by the visitor.
    • 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 contains attribute, even if it is empty.
      • If this entry already contains an attribute with a matching attribute description, then the attribute values contained in attribute 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 interface Entry
      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.
    • 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 contains attribute, even if it is empty.
      • If this entry already contains an attribute with a matching attribute description, then the attribute values contained in attribute 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 interface Entry
      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, or null if duplicate values should not be saved.
      Returns:
      true if this entry changed as a result of this call.
    • 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 contains attribute, even if it is empty.
      • If this entry already contains an attribute with a matching attribute description, then the attribute values contained in attribute 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 the ByteString.valueOfObject(Object) method.

      NOTE: When attribute is non-empty, this method implements LDAP Modify add semantics.

      Specified by:
      addAttribute in interface Entry
      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.
    • addControl

      Description copied from interface: Request
      Adds the provided control to this request.
      Specified by:
      addControl in interface Request
      Parameters:
      control - The control to be added to this request.
      Returns:
      This request.
    • clearAttributes

      Description copied from interface: Entry
      Removes all the attributes from this entry (optional operation).
      Specified by:
      clearAttributes in interface Entry
      Returns:
      This entry.
    • containsAttribute

      boolean containsAttribute(Attribute attribute, Collection<? super ByteString> missingValues)
      Description copied from interface: Entry
      Returns true if this entry contains all of the attribute values contained in attribute. If attribute is empty then this method will return true if the attribute is present in this entry, regardless of how many values it contains.
      Specified by:
      containsAttribute in interface Entry
      Parameters:
      attribute - The attribute values whose presence in this entry is to be tested.
      missingValues - A collection into which missing values will be added, or null if missing values should not be saved.
      Returns:
      true if this entry contains all of the attribute values contained in attribute.
    • containsAttribute

      boolean containsAttribute(String attributeDescription, Object... values)
      Description copied from interface: Entry
      Returns true if this entry contains all of the attribute values contained in values. If values is null or empty then this method will return true 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 the ByteString.valueOfObject(Object) method.

      Specified by:
      containsAttribute in interface Entry
      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 be null.
      Returns:
      true if this entry contains all of the attribute values contained in values.
    • getAllAttributes

      Description copied from interface: Entry
      Returns an Iterable containing all of the attributes in this entry. The returned Iterable may be used to remove attributes if permitted by this entry.
      Specified by:
      getAllAttributes in interface Entry
      Returns:
      An Iterable containing all of the attributes.
    • getAllAttributes

      Description copied from interface: Entry
      Returns an Iterable containing all the attributes in this entry having an attribute description which is a sub-type of the provided attribute description. The returned Iterable may be used to remove attributes if permitted by this entry.
      Specified by:
      getAllAttributes in interface Entry
      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 an Iterable containing all the attributes in this entry having an attribute description which is a sub-type of the provided attribute description. The returned Iterable 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 interface Entry
      Parameters:
      attributeDescription - The name of the attributes to be returned.
      Returns:
      An Iterable containing the matching attributes.
    • getAttribute

      Description copied from interface: Entry
      Returns the named attribute contained in this entry, or null if it is not included with this entry.
      Specified by:
      getAttribute in interface Entry
      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, or null 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 interface Entry
      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

      Description copied from interface: Entry
      Returns the number of attributes in this entry.
      Specified by:
      getAttributeCount in interface Entry
      Returns:
      The number of attributes.
    • getControl

      <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
      Description copied from interface: Request
      Decodes and returns the first control in this request having an OID corresponding to the provided control decoder.
      Specified by:
      getControl in interface Request
      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 request.
      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

      Description copied from interface: Request
      Returns a List containing the controls included with this request. The returned List may be modified if permitted by this request.
      Specified by:
      getControls in interface Request
      Returns:
      A List containing the controls.
    • getName

      Description copied from interface: ChangeRecord
      Returns the distinguished name of the entry being modified by this ChangeRecord.
      Specified by:
      getName in interface ChangeRecord
      Specified by:
      getName in interface Entry
      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 in attribute from this entry if it is present (optional operation). If attribute 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 interface Entry
      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, or null 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 returns false.
      Specified by:
      removeAttribute in interface Entry
      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 in values from the named attribute in this entry if it is present (optional operation). If values is null 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 the ByteString.valueOfObject(Object) method.

      NOTE: This method implements LDAP Modify delete semantics.

      Specified by:
      removeAttribute in interface Entry
      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 be null 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 in attribute to this entry, replacing any existing attribute values (optional operation). If attribute 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 interface Entry
      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 in values to this entry, replacing any existing attribute values (optional operation). If values is null 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 the ByteString.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 interface Entry
      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 be null or empty if the entire attribute is to be removed.
      Returns:
      This entry.
    • setName

      Description copied from interface: Entry
      Sets the distinguished name of this entry (optional operation).
      Specified by:
      setName in interface Entry
      Parameters:
      dn - The distinguished name.
      Returns:
      This entry.
    • setName

      Description copied from interface: Entry
      Sets the distinguished name of this entry (optional operation).

      The distinguished name will be decoded using the schema associated with this entry (usually the default schema).

      Specified by:
      setName in interface Entry
      Parameters:
      dn - The string representation of the distinguished name.
      Returns:
      This entry.