Class RDN

java.lang.Object
netscape.ldap.util.RDN
All Implemented Interfaces:
Serializable

public final class RDN extends Object implements Serializable
Objects of this class represent the components of a distinguished name (DN). (In some situations, these components are referred to as relative distinguished names, or RDNs.) For example, the DN "uid=bjensen, ou=People, o=Airius.com" has three components: "uid=bjensen", "ou=People", and "o=Airius.com".

Each DN component consists of an attribute type and a value. For example, in "o=Airius.com", the attribute type is "o" and the value is "Airius.com".

You can use objects of this class to add components to an existing DN object.

Version:
1.0
See Also:
  • Field Details

    • serialVersionUID

      static final long serialVersionUID
      See Also:
    • m_type

      private String[] m_type
      List of RDNs. DN consists of one or more RDNs.
    • m_value

      private String[] m_value
    • m_ismultivalued

      private boolean m_ismultivalued
    • m_attributehash

      private static Hashtable<String,String> m_attributehash
      Hash table of case sensitive attributes
    • _cesAttributes

      public static final String[] _cesAttributes
    • CES_SYNTAX

      public static final String CES_SYNTAX
      See Also:
  • Constructor Details

    • RDN

      public RDN(String rdn)
      Constructs a new RDN object from the specified DN component.
      Parameters:
      rdn - DN component
  • Method Details

    • neutralizeEscapes

      static String neutralizeEscapes(String rdn)
      Neutralize backslash escapes and quoted sequences for easy parsing.
      Returns:
      rdn string with disabled escapes or null if malformed rdn
    • isValidType

      private boolean isValidType(String type)
      Type names can not contain any DN special characters
    • isValidValue

      private boolean isValidValue(String val)
      Values can contain only single quote sequence, where quotes are at the beginning and the end of the sequence
    • explodeRDN

      @Deprecated public String[] explodeRDN(boolean noType)
      Deprecated.
      use toString or getValues instead.
      Returns the DN component as the first element in an array of strings.
      Parameters:
      noType - specify true to ignore the attribute type and equals sign (for example, "cn=") and return only the value
      Returns:
      an array of strings representing the DN component.
    • getType

      @Deprecated public String getType()
      Deprecated.
      use getTypes() instead.
      Returns the attribute type of the DN component.
      Returns:
      rdn the attribute type of the DN component.
    • getTypes

      public String[] getTypes()
      Returns the attribute types of the DN component.
      Returns:
      rdn the attribute types of the DN component.
    • getValue

      @Deprecated public String getValue()
      Deprecated.
      use getValues() instead.
      Returns the value of the DN component.
      Returns:
      rdn the value of the DN component.
    • getValues

      public String[] getValues()
      Returns the values of the DN component.
      Returns:
      rdn the values of the DN component.
    • isMultivalued

      public boolean isMultivalued()
      Returns true if the RDN is multi-valued.
      Returns:
      true if the RDN is multi-valued.
    • toString

      public String toString()
      Returns the string representation of the DN component.
      Overrides:
      toString in class Object
      Returns:
      the string representation of the DN component.
    • isRDN

      public static boolean isRDN(String rdn)
      Determines if the specified string is a distinguished name component.
      Parameters:
      rdn - the string to check
      Returns:
      true if the string is a distinguished name component.
    • equals

      public boolean equals(RDN rdn)
      Determines if the current DN component is equal to the specified DN component. Uses an internal table of ces (case exact string) attributes to determine how the attributes should be compared.
      Parameters:
      rdn - the DN component to compare against the current DN component.
      Returns:
      true if the two DN components are equal.
      See Also:
    • sortTypesAndValues

      void sortTypesAndValues(String[] types, String[] values)
    • registerAttributeSyntax

      public static void registerAttributeSyntax(String attr, String oid)
      Registers the the given attribute for the given syntax in an internal table. This table is used for attribute comparison in the equals() method.
      Parameters:
      attr - the attribute to register.
      oid - the syntax to register with the attribute.
      See Also:
    • unregisterAttributeSyntax

      public static void unregisterAttributeSyntax(String attr)
      Removes the the given attribute from the attribute syntax table.
      Parameters:
      attr - the attribute to remove.
      See Also:
    • getAttributeSyntax

      public static String getAttributeSyntax(String attr)
      Returns the syntax for the attribute if the given attribute is registered in the internal attribute table.
      Parameters:
      attr - the attribute to lookup in the table.
      Returns:
      the syntax of the attribute if found, null otherwise.
      See Also:
    • getAttributesForSyntax

      public static String[] getAttributesForSyntax(String oid)
      Returns all attributes registered for the given syntax as a String Array.
      Parameters:
      oid - the syntax to look up in the table.
      Returns:
      all attributes for the given syntax as a String[]
      See Also: