Class Dn


  • public class Dn
    extends Object
    Distinguished name containing zero or more relative distinguished names. RDNs are ordered from left to right such that the left-most RDN is considered the first. For the DN 'cn=Jane Doe,ou=People,dc=ldaptive,dc=org', the first RDN is 'cn=Jane Doe'. See RFC 4514 for more details on the string representations of DNs.
    • Field Detail

      • HASH_CODE_SEED

        private static final int HASH_CODE_SEED
        hash code seed.
        See Also:
        Constant Field Values
      • rdnComponents

        private final List<RDn> rdnComponents
        RDN components.
    • Constructor Detail

      • Dn

        public Dn()
        Default constructor.
      • Dn

        public Dn​(String dn)
        Creates a new DN with the supplied string.
        Parameters:
        dn - to parse
      • Dn

        public Dn​(String dn,
                  DnParser parser)
        Creates a new DN with the supplied string.
        Parameters:
        dn - to parse
        parser - to parse dn
      • Dn

        public Dn​(RDn... rdn)
        Creates a new DN with the supplied RDNs.
        Parameters:
        rdn - to add
      • Dn

        public Dn​(List<RDn> rdns)
        Creates a new DN with the supplied RDNs.
        Parameters:
        rdns - to add
    • Method Detail

      • getRDn

        public RDn getRDn()
        Returns the first RDN in this DN.
        Returns:
        first RDN
      • getRDns

        public List<RDn> getRDns()
        Returns the RDNs in this DN.
        Returns:
        RDNs
      • add

        public void add​(Dn dn)
        Adds all the RDNs in the supplied DN to the end of this DN.
        Parameters:
        dn - to add to this DN
      • add

        public void add​(RDn rdn)
        Adds the supplied RDN to the end of this DN.
        Parameters:
        rdn - to add to this DN
      • add

        public void add​(int index,
                        RDn rdn)
        Adds the supplied RDN at the supplied index.
        Parameters:
        index - to add the RDN at
        rdn - to add to this DN
      • subDn

        public Dn subDn​(int index)
        Returns a new DN containing all the RDN components from the supplied index.
        Parameters:
        index - of RDNs to include
        Returns:
        DN with sub-components of this DN
      • subDn

        public Dn subDn​(int beginIndex,
                        int endIndex)
        Returns a new DN containing all the RDN components between the supplied indexes.
        Parameters:
        beginIndex - first RDN to include (inclusive)
        endIndex - last RDN to include (exclusive)
        Returns:
        DN with sub-components of this DN
      • getValues

        public Collection<String> getValues​(String name)
        Returns the RDN values with the supplied name. If the RDN is multi-value the first value is used.
        Parameters:
        name - of the RDN
        Returns:
        RDN value
      • getValue

        public String getValue​(String name)
        Returns the first RDN value with the supplied name. If the RDN is multi-value the first value is used.
        Parameters:
        name - of the RDN
        Returns:
        RDN value
      • size

        public int size()
        Returns the number of RDNs in this DN.
        Returns:
        number of RDNs
      • format

        public String format()
        Produces a string representation of this DN.
        Returns:
        DN string
      • format

        public String format​(RDnNormalizer normalizer)
        Produces a string representation of this DN.
        Parameters:
        normalizer - to apply to the RDN components or null for no formatting
        Returns:
        DN string
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • builder

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