Package org.ldaptive

Class LdapEntry

All Implemented Interfaces:
Message

public class LdapEntry extends AbstractMessage
LDAP search result entry defined as:
   SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
     objectName      LDAPDN,
     attributes      PartialAttributeList }

   PartialAttributeList ::= SEQUENCE OF
     partialAttribute PartialAttribute

   PartialAttribute ::= SEQUENCE {
     type       AttributeDescription,
     vals       SET OF value AttributeValue }
 
  • Field Details

    • PROTOCOL_OP

      public static final int PROTOCOL_OP
      BER protocol number.
      See Also:
    • HASH_CODE_SEED

      private static final int HASH_CODE_SEED
      hash code seed.
      See Also:
    • LDAP_DN_PATH

      private static final DERPath LDAP_DN_PATH
      DER path to LDAP DN.
    • ATTRIBUTES_PATH

      private static final DERPath ATTRIBUTES_PATH
      DER path to attributes.
    • ldapDn

      private String ldapDn
      LDAP DN of the entry.
    • attributes

      private Map<String,LdapAttribute> attributes
      LDAP attributes on the entry.
  • Constructor Details

    • LdapEntry

      public LdapEntry()
      Default constructor.
    • LdapEntry

      public LdapEntry(DERBuffer buffer)
      Creates a new search result entry.
      Parameters:
      buffer - to decode
  • Method Details

    • getDn

      public String getDn()
      Returns the ldap DN.
      Returns:
      ldap DN
    • setDn

      public void setDn(String dn)
      Sets the ldap DN.
      Parameters:
      dn - ldap DN
    • getAttributes

      public Collection<LdapAttribute> getAttributes()
      Returns the ldap attributes.
      Returns:
      ldap attributes
    • getAttribute

      public LdapAttribute getAttribute()
      Returns a single attribute of this attributes. If multiple attributes exist the first attribute returned by the underlying iterator is used. If no attributes exist null is returned.
      Returns:
      single attribute
    • getAttribute

      public LdapAttribute getAttribute(String name)
      Returns the attribute with the supplied name.
      Parameters:
      name - of the attribute to return
      Returns:
      ldap attribute
    • getAttributeNames

      public String[] getAttributeNames()
      Returns the attribute names in this entry.
      Returns:
      string array of attribute names
    • addAttributes

      public void addAttributes(LdapAttribute... attrs)
      Adds attributes to the entry.
      Parameters:
      attrs - attributes to add
    • addAttributes

      public void addAttributes(Collection<LdapAttribute> attrs)
      Adds attributes to the entry.
      Parameters:
      attrs - attributes to add
    • removeAttribute

      public void removeAttribute(String name)
      Removes the attribute with the supplied name.
      Parameters:
      name - of attribute to remove
    • removeAttributes

      public void removeAttributes(LdapAttribute... attrs)
      Removes an attribute from this ldap attributes.
      Parameters:
      attrs - attribute to remove
    • removeAttributes

      public void removeAttributes(Collection<LdapAttribute> attrs)
      Removes the attribute(s) from this ldap attributes.
      Parameters:
      attrs - collection of ldap attributes to remove
    • size

      public int size()
      Returns the number of attributes.
      Returns:
      number of attributes
    • clear

      public void clear()
      Removes all the attributes.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class AbstractMessage
    • hashCode

      public int hashCode()
      Description copied from class: AbstractMessage
      Returns the hash code for this object.
      Specified by:
      hashCode in class AbstractMessage
      Returns:
      hash code
    • toString

      public String toString()
      Overrides:
      toString in class AbstractMessage
    • sort

      public static LdapEntry sort(LdapEntry le)
      Returns a new entry whose attributes are sorted naturally by name without options.
      Parameters:
      le - entry to sort
      Returns:
      sorted entry
    • computeModifications

      public static AttributeModification[] computeModifications(LdapEntry source, LdapEntry target)
      Returns the list of attribute modifications needed to change the supplied target entry into the supplied source entry.
      Parameters:
      source - ldap entry containing new data
      target - ldap entry containing existing data
      Returns:
      attribute modifications needed to change target into source or an empty array
    • builder

      public static LdapEntry.Builder builder()
      Creates a builder for this class.
      Returns:
      new builder