|
Spring LDAP Framework | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.ldap.core.DistinguishedName
public class DistinguishedName
Default implementation of a Name corresponding to an LDAP path. A
Distinguished Name manipulation implementation is included in JDK1.5
(LdapName), but not in prior releases.
A DistinguishedName is particularly useful when building or
modifying an LDAP path dynamically, as escaping will be taken care of.
A path is split into several names. The Name interface specifies that
the most significant part be in position 0.
Example:
Name instances, and consequently DistinguishedName
instances are naturally mutable, which is useful when constructing
DistinguishedNames. Example:
DistinguishedName path = new DistinguishedName("dc=jayway,dc=se");
path.add("ou", "People");
path.add("uid", "adam.skogman");
String dn = path.toString();
will render uid=adam.skogman,ou=People,dc=jayway,dc=se.
NOTE: The fact that DistinguishedName instances are mutable needs to
be taken into careful account, as this means that they may be modified
involuntarily. This means that whenever a DistinguishedName
instance is kept for reference (e.g. for identification of a domain entry) or
as a constant, you should consider getting an immutable copy of the instance
using immutableDistinguishedName() or
immutableDistinguishedName(String).
NB:As of version 1.3 the default toString representation of
DistinguishedName now defaults to a compact one, without spaces between the
respective RDNs. For backward compatibility, set the
SPACED_DN_FORMAT_PROPERTY ("org.springframework.ldap.core.spacedDnFormat") to
true.
| Field Summary | |
|---|---|
static DistinguishedName |
EMPTY_PATH
An empty, unmodifiable DistinguishedName. |
static String |
KEY_CASE_FOLD_LOWER
|
static String |
KEY_CASE_FOLD_NONE
|
static String |
KEY_CASE_FOLD_PROPERTY
System property that will be inspected to determine whether creating a DistinguishedName will convert the keys to lowercase, convert the keys to uppercase, or leave the keys as they were in the original String, ie none. |
static String |
KEY_CASE_FOLD_UPPER
|
static String |
SPACED_DN_FORMAT_PROPERTY
System property that will be inspected to determine whether toString() will format the DN with spaces after each comma or
use a more compact representation, i.e.:
uid=adam.skogman, ou=People, dc=jayway, dc=se rather than
uid=adam.skogman,ou=People,dc=jayway,dc=se. |
| Constructor Summary | |
|---|---|
DistinguishedName()
Construct a new DistinguishedName with no components. |
|
DistinguishedName(List list)
Construct a new DistinguishedName from the supplied
List of LdapRdn objects. |
|
DistinguishedName(Name name)
Construct a new DistinguishedName from the supplied
Name. |
|
DistinguishedName(String path)
Construct a new DistinguishedName from a String. |
|
| Method Summary | |
|---|---|
void |
add(int idx,
LdapRdn rdn)
Add the supplied LdapRdn att the specified index. |
Name |
add(int index,
String string)
|
void |
add(LdapRdn rdn)
Add the supplied LdapRdn last in the list of Rdns. |
Name |
add(String string)
|
void |
add(String key,
String value)
Add a new LdapRdn using the supplied key and value. |
Name |
addAll(int arg0,
Name name)
|
Name |
addAll(Name name)
|
DistinguishedName |
append(DistinguishedName path)
Add an LDAP path last in this DistinguishedName. |
DistinguishedName |
append(String key,
String value)
Append a new LdapRdn using the supplied key and value. |
Object |
clone()
|
int |
compareTo(Object obj)
Compare this instance to another object. |
boolean |
contains(DistinguishedName path)
Determines if this DistinguishedName path contains another
path. |
String |
encode()
Builds a complete LDAP path, ldap encoded, useful as a DN. |
boolean |
endsWith(Name name)
Determines if this DistinguishedName ends with a certian
path. |
boolean |
equals(Object obj)
|
String |
get(int index)
|
Enumeration |
getAll()
|
LdapRdn |
getLdapRdn(int index)
Get the LdapRdn at a specified position. |
LdapRdn |
getLdapRdn(String key)
Get the LdapRdn with the specified key. |
List |
getNames()
Get the name List. |
Name |
getPrefix(int index)
|
Name |
getSuffix(int index)
|
String |
getValue(String key)
Get the value of the LdapRdnComponent with the specified key
(Attribute value). |
int |
hashCode()
|
DistinguishedName |
immutableDistinguishedName()
Return an immutable copy of this instance. |
static DistinguishedName |
immutableDistinguishedName(String dnString)
Create an immutable DistinguishedName instance, suitable as a constant. |
boolean |
isEmpty()
|
protected void |
parse(String path)
Parse the supplied String and make this instance represent the corresponding distinguished name. |
void |
prepend(DistinguishedName path)
Add an LDAP path first in this DistinguishedName. |
Object |
remove(int arg0)
|
LdapRdn |
removeFirst()
Remove the first part of this DistinguishedName. |
void |
removeFirst(Name path)
Remove the supplied path from the beginning of this DistinguishedName if this instance starts with
path. |
LdapRdn |
removeLast()
Remove the last part of this DistinguishedName. |
int |
size()
|
boolean |
startsWith(Name name)
|
String |
toCompactString()
Get the compact String representation of this DistinguishedName. |
String |
toString()
Get the String representation of this DistinguishedName. |
String |
toUrl()
Builds a complete LDAP path, ldap and url encoded. |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final String SPACED_DN_FORMAT_PROPERTY
toString() will format the DN with spaces after each comma or
use a more compact representation, i.e.:
uid=adam.skogman, ou=People, dc=jayway, dc=se rather than
uid=adam.skogman,ou=People,dc=jayway,dc=se. A value other
than null or blank will trigger the spaced format. Default is the compact
representation.
Valid values are:
toCompactString(),
Constant Field Valuespublic static final String KEY_CASE_FOLD_PROPERTY
Valid values are:
KEY_CASE_FOLD_LOWER,
KEY_CASE_FOLD_UPPER,
KEY_CASE_FOLD_NONE,
Constant Field Valuespublic static final String KEY_CASE_FOLD_LOWER
public static final String KEY_CASE_FOLD_UPPER
public static final String KEY_CASE_FOLD_NONE
public static final DistinguishedName EMPTY_PATH
| Constructor Detail |
|---|
public DistinguishedName()
public DistinguishedName(String path)
DistinguishedName from a String.
path - a String corresponding to a (syntactically) valid LDAP path.public DistinguishedName(List list)
DistinguishedName from the supplied
List of LdapRdn objects.
list - the components that this instance will consist of.public DistinguishedName(Name name)
DistinguishedName from the supplied
Name. The parts of the supplied Name must be
syntactically correct LdapRdns.
name - the Name to construct a new
DistinguishedName from.| Method Detail |
|---|
protected void parse(String path)
path - the LDAP path to parse.public LdapRdn getLdapRdn(int index)
LdapRdn at a specified position.
index - the LdapRdn to retrieve.
LdapRdn at the requested position.public LdapRdn getLdapRdn(String key)
LdapRdn with the specified key. If there are several
Rdns with the same key, the first one found (in order of
significance) will be returned.
key - Attribute name of the LdapRdn to retrieve.
LdapRdn with the requested key.
IllegalArgumentException - if no Rdn matches the given key.public String getValue(String key)
LdapRdnComponent with the specified key
(Attribute value). If there are several Rdns with the same key, the value
of the first one found (in order of significance) will be returned.
key - Attribute name of the LdapRdn to retrieve.
IllegalArgumentException - if no Rdn matches the given key.public List getNames()
List.
LdapRdns that this
DistinguishedName consists of.public String toString()
DistinguishedName.
Depending on the setting of property
org.springframework.ldap.core.spacedDnFormat a space will be
added after each comma, to make the result more readable. Default is
compact representation, i.e. without any spaces.
toString in class ObjectDistinguishedName.SPACED_DN_FORMAT_PROPERTYpublic String toCompactString()
DistinguishedName. Add no space after each comma, to make it
compact.
DistinguishedName.public String encode()
public String toUrl()
public boolean contains(DistinguishedName path)
DistinguishedName path contains another
path.
path - the path to check.
true if the supplied path is conained in this
instance, false otherwise.public DistinguishedName append(DistinguishedName path)
DistinguishedName name1 = new DistinguishedName("c=SE, dc=jayway, dc=se");
DistinguishedName name2 = new DistinguishedName("ou=people");
name1.append(name2);
will result in ou=people, c=SE, dc=jayway, dc=se
path - the path to append.
public DistinguishedName append(String key,
String value)
LdapRdn using the supplied key and value.
key - the key of the LdapRdn.value - the value of the LdapRdn.
public void prepend(DistinguishedName path)
DistinguishedName name1 = new DistinguishedName("ou=people");
DistinguishedName name2 = new DistinguishedName("c=SE, dc=jayway, dc=se");
name1.prepend(name2);
will result in ou=people, c=SE, dc=jayway, dc=se
path - the path to prepend.public LdapRdn removeFirst()
DistinguishedName.
public void removeFirst(Name path)
DistinguishedName if this instance starts with
path. Useful for stripping base path suffix from a
DistinguishedName.
path - the path to remove from the beginning of this instance.public Object clone()
clone in interface Nameclone in class ObjectObject.clone()public boolean equals(Object obj)
equals in class ObjectObject.equals(java.lang.Object)public int hashCode()
hashCode in class ObjectObject.hashCode()public int compareTo(Object obj)
compareTo in interface Comparable<Object>compareTo in interface NameName.compareTo(java.lang.Object)public int size()
size in interface Namepublic boolean isEmpty()
isEmpty in interface Namepublic Enumeration getAll()
getAll in interface Namepublic String get(int index)
get in interface Namepublic Name getPrefix(int index)
getPrefix in interface Namepublic Name getSuffix(int index)
getSuffix in interface Namepublic boolean startsWith(Name name)
startsWith in interface Namepublic boolean endsWith(Name name)
DistinguishedName ends with a certian
path.
If the argument path is empty (no names in path) this method will return
false.
endsWith in interface Namename - The suffix to check for.
public Name addAll(Name name)
throws InvalidNameException
addAll in interface NameInvalidNameException
public Name addAll(int arg0,
Name name)
throws InvalidNameException
addAll in interface NameInvalidNameException
public Name add(String string)
throws InvalidNameException
add in interface NameInvalidNameException
public Name add(int index,
String string)
throws InvalidNameException
add in interface NameInvalidNameException
public Object remove(int arg0)
throws InvalidNameException
remove in interface NameInvalidNameExceptionpublic LdapRdn removeLast()
DistinguishedName.
LdapRdn.
public void add(String key,
String value)
LdapRdn using the supplied key and value.
key - the key of the LdapRdn.value - the value of the LdapRdn.public void add(LdapRdn rdn)
LdapRdn last in the list of Rdns.
rdn - the LdapRdn to add.
public void add(int idx,
LdapRdn rdn)
LdapRdn att the specified index.
idx - the index at which to add the LdapRdn.rdn - the LdapRdn to add.public DistinguishedName immutableDistinguishedName()
public static final DistinguishedName immutableDistinguishedName(String dnString)
dnString - the DN string to parse.
|
Spring LDAP Framework | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||