Class LinkedHashMapEntry

All Implemented Interfaces:
Entry

public final class LinkedHashMapEntry extends AbstractMapEntry<LinkedHashMap<AttributeDescription,Attribute>>
An implementation of the Entry interface which uses a LinkedHashMap for storing attributes. Attributes are returned in the same order that they were added to the entry. All operations are supported by this implementation. For example, you can build an entry like this:
 Entry entry = new LinkedHashMapEntry("cn=Bob,ou=People,dc=example,dc=com")
    .addAttribute("cn", "Bob")
    .addAttribute("objectclass", "top")
    .addAttribute("objectclass", "person")
    .addAttribute("objectclass", "organizationalPerson")
    .addAttribute("objectclass", "inetOrgPerson")
    .addAttribute("mail", "subgenius@example.com")
    .addAttribute("sn", "Dobbs");
 
A LinkedHashMapEntry stores references to attributes which have been added using the AbstractMapEntry.addAttribute(org.forgerock.opendj.ldap.Attribute, java.util.Collection<? super org.forgerock.opendj.ldap.ByteString>) methods. Attributes sharing the same attribute description are merged by adding the values of the new attribute to the existing attribute. More specifically, the existing attribute must be modifiable for the merge to succeed. Similarly, the AbstractMapEntry.removeAttribute(org.forgerock.opendj.ldap.Attribute, java.util.Collection<? super org.forgerock.opendj.ldap.ByteString>) methods remove the specified values from the existing attribute. The AbstractMapEntry.replaceAttribute(org.forgerock.opendj.ldap.Attribute) methods remove the existing attribute (if present) and store a reference to the new attribute - neither the new or existing attribute need to be modifiable in this case.
  • Constructor Details

    • LinkedHashMapEntry

      public LinkedHashMapEntry()
      Creates an entry with an empty (root) distinguished name and no attributes.
    • LinkedHashMapEntry

      public LinkedHashMapEntry(Dn name)
      Creates an empty entry using the provided distinguished name and no attributes.
      Parameters:
      name - The distinguished name of this entry.
      Throws:
      NullPointerException - If name was null.
    • LinkedHashMapEntry

      public LinkedHashMapEntry(String name)
      Creates an empty entry using the provided distinguished name decoded using the default schema.
      Parameters:
      name - The distinguished name of this entry.
      Throws:
      LocalizedIllegalArgumentException - If name could not be decoded using the default schema.
      NullPointerException - If name was null.
    • LinkedHashMapEntry

      public LinkedHashMapEntry(String... ldifLines)
      Creates a new entry using the provided lines of LDIF decoded using the default schema.
      Parameters:
      ldifLines - Lines of LDIF containing the an LDIF add change record or an LDIF entry record.
      Throws:
      LocalizedIllegalArgumentException - If ldifLines was empty, or contained invalid LDIF, or could not be decoded using the default schema.
      NullPointerException - If ldifLines was null .
  • Method Details

    • deepCopyOfEntry

      public static LinkedHashMapEntry deepCopyOfEntry(Entry entry)
      Creates an entry having the same distinguished name, attributes, and object classes of the provided entry. This constructor performs a deep copy of entry and will copy each attribute as a LinkedAttribute.

      A shallow copy constructor is provided by shallowCopyOfEntry(Entry).

      Parameters:
      entry - The entry to be copied.
      Returns:
      A deep copy of entry.
      Throws:
      NullPointerException - If entry was null.
      See Also:
    • shallowCopyOfEntry

      public static LinkedHashMapEntry shallowCopyOfEntry(Entry entry)
      Creates an entry having the same distinguished name, attributes, and object classes of the provided entry. This constructor performs a shallow copy of entry and will not copy the attributes contained in entry.

      A deep copy constructor is provided by deepCopyOfEntry(Entry)

      Parameters:
      entry - The entry to be copied.
      Returns:
      A shallow copy of entry.
      Throws:
      NullPointerException - If entry was null.
      See Also: