Spring LDAP

org.springframework.ldap.core
Class LdapRdnComponent

java.lang.Object
  extended by org.springframework.ldap.core.LdapRdnComponent
All Implemented Interfaces:
Serializable, Comparable

public class LdapRdnComponent
extends Object
implements Comparable, Serializable

Represents part of an LdapRdn. As specified in RFC2253 an LdapRdn may be composed of several attributes, separated by "+". An LdapRdnComponent represents one of these attributes.

Author:
Mattias Hellborg Arthursson
See Also:
Serialized Form

Field Summary
static boolean DONT_DECODE_VALUE
           
 
Constructor Summary
LdapRdnComponent(String key, String value)
          Constructs an LdapRdnComponent without decoding the value.
LdapRdnComponent(String key, String value, boolean decodeValue)
          Constructs an LdapRdnComponent, optionally decoding the value.
 
Method Summary
 int compareTo(Object obj)
          Compare this instance to the supplied object.
protected  String encodeLdap()
          Encode key and value to ldap.
 String encodeUrl()
          Get a String representation of this instance for use in URLs.
 boolean equals(Object obj)
           
 String getKey()
          Get the key (Attribute name) of this component.
 String getLdapEncoded()
           
 String getValue()
          Get the (Attribute) value of this component.
 int hashCode()
           
 LdapRdnComponent immutableLdapRdnComponent()
          Create an immutable copy of this instance.
 void setKey(String key)
          Deprecated. Using this method changes the internal state of surrounding DistinguishedName instance. This should be avoided.
 void setValue(String value)
          Deprecated. Using this method changes the internal state of surrounding DistinguishedName instance. This should be avoided.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DONT_DECODE_VALUE

public static final boolean DONT_DECODE_VALUE
See Also:
Constant Field Values
Constructor Detail

LdapRdnComponent

public LdapRdnComponent(String key,
                        String value)
Constructs an LdapRdnComponent without decoding the value.

Parameters:
key - the Attribute name.
value - the Attribute value.

LdapRdnComponent

public LdapRdnComponent(String key,
                        String value,
                        boolean decodeValue)
Constructs an LdapRdnComponent, optionally decoding the value.

Depending on the value of the "key case fold" System property, the keys will be lowercased, uppercased, or preserve their original case. Default is to convert them to lowercase.

Parameters:
key - the Attribute name.
value - the Attribute value.
decodeValue - if true the value is decoded (typically used when a DN is parsed from a String), otherwise the value is used as specified.
See Also:
DistinguishedName.KEY_CASE_FOLD_PROPERTY
Method Detail

getKey

public String getKey()
Get the key (Attribute name) of this component.

Returns:
the key.

setKey

public void setKey(String key)
Deprecated. Using this method changes the internal state of surrounding DistinguishedName instance. This should be avoided.

Set the key (Attribute name) of this component.

Parameters:
key - the key.

getValue

public String getValue()
Get the (Attribute) value of this component.

Returns:
the value.

setValue

public void setValue(String value)
Deprecated. Using this method changes the internal state of surrounding DistinguishedName instance. This should be avoided.

Set the (Attribute) value of this component.

Parameters:
value - the value.

encodeLdap

protected String encodeLdap()
Encode key and value to ldap.

Returns:
Properly ldap escaped rdn.

toString

public String toString()
Overrides:
toString in class Object

getLdapEncoded

public String getLdapEncoded()
Returns:
The LdapRdn as a string where the value is LDAP-encoded.

encodeUrl

public String encodeUrl()
Get a String representation of this instance for use in URLs.

Returns:
a properly URL encoded representation of this instancs.

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

compareTo

public int compareTo(Object obj)
Compare this instance to the supplied object.

Specified by:
compareTo in interface Comparable
Parameters:
obj - the object to compare to.
Throws:
ClassCastException - if the object is not possible to cast to an LdapRdnComponent.

immutableLdapRdnComponent

public LdapRdnComponent immutableLdapRdnComponent()
Create an immutable copy of this instance. It will not be possible to modify the key or the value of the returned instance.

Returns:
an immutable copy of this instance.
Since:
1.3

Spring LDAP