Package org.forgerock.opendj.ldap
Class Rdn
java.lang.Object
org.forgerock.opendj.ldap.Rdn
- All Implemented Interfaces:
Comparable<Rdn>
,Iterable<Ava>
A relative distinguished name (RDN) as defined in RFC 4512 section 2.3 is the
name of an entry relative to its immediate superior. An RDN is composed of an
unordered set of one or more attribute value assertions (AVA) consisting of
an attribute description with zero options and an attribute value. These AVAs
are chosen to match attribute values (each a distinguished value) of the
entry.
An entry's relative distinguished name must be unique among all immediate subordinates of the entry's immediate superior (i.e. all siblings).
The following are examples of string representations of RDNs:
uid=12345 ou=Engineering cn=Kurt Zeilenga+L=Redwood ShoresThe last is an example of a multi-valued RDN; that is, an RDN composed of multiple AVAs.
-
Constructor Summary
ConstructorDescriptionCreates a new RDN using the provided attribute type and value decoded using the default schema.Rdn
(Collection<Ava> avas) Creates a new RDN using the provided AVAs.Creates a new RDN using the provided AVAs.Rdn
(AttributeType attributeType, Object attributeValue) Creates a new RDN using the provided attribute type and value. -
Method Summary
Modifier and TypeMethodDescriptionint
boolean
getAttributeValue
(AttributeType attributeType) Returns the attribute value contained in this RDN which is associated with the provided attribute type, ornull
if this RDN does not include such an attribute value.Returns the first AVA contained in this RDN.boolean
hasAttributeType
(AttributeType attributeType) Indicates whether this RDN includes the specified attribute type.int
hashCode()
boolean
Returnstrue
if this RDN contains more than one AVA.iterator()
Returns an iterator of the AVAs contained in this RDN.static Rdn
maxValue()
Returns a constant containing a special RDN which sorts after any RDN other than itself.static Rdn
minValue()
Returns a constant containing a special RDN which sorts before any RDN other than itself.int
size()
Returns the number of AVAs in this RDN.toString()
Returns the RFC 4514 string representation of this RDN.static Rdn
Parses the provided LDAP string representation of an RDN using the default schema.static Rdn
Parses the provided LDAP string representation of a RDN using the provided schema.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
Rdn
Creates a new RDN using the provided attribute type and value.If
attributeValue
is not an instance ofByteString
then it will be converted using theByteString.valueOfObject(Object)
method.- Parameters:
attributeType
- The attribute type.attributeValue
- The attribute value.- Throws:
NullPointerException
- IfattributeType
orattributeValue
wasnull
.
-
Rdn
Creates a new RDN using the provided attribute type and value decoded using the default schema.If
attributeValue
is not an instance ofByteString
then it will be converted using theByteString.valueOfObject(Object)
method.- Parameters:
attributeType
- The attribute type.attributeValue
- The attribute value.- Throws:
UnknownSchemaElementException
- IfattributeType
was not found in the default schema.NullPointerException
- IfattributeType
orattributeValue
wasnull
.
-
Rdn
Creates a new RDN using the provided AVAs.- Parameters:
avas
- The attribute-value assertions used to build this RDN.- Throws:
NullPointerException
- Ifavas
isnull
or contains a null ava.IllegalArgumentException
- Ifavas
is empty.
-
Rdn
Creates a new RDN using the provided AVAs.- Parameters:
avas
- The attribute-value assertions used to build this RDN.- Throws:
NullPointerException
- Ifava
isnull
or contains null ava.IllegalArgumentException
- Ifavas
is empty.
-
-
Method Details
-
minValue
Returns a constant containing a special RDN which sorts before any RDN other than itself. This RDN may be used in order to perform range queries on DN keyed collections such asSortedSet
s andSortedMap
s. For example, the following code can be used to construct a range whose contents is a sub-tree of entries, excluding the base entry:SortedMap<Dn, Entry> entries = ...; Dn baseDn = ...; // Returns a map containing the baseDN and all of its subordinates. SortedMap<Dn,Entry> subtree = entries.subMap( baseDn.child(Rdn.minValue()), baseDn.child(Rdn.maxValue()));
- Returns:
- A constant containing a special RDN which sorts before any RDN other than itself.
- See Also:
-
maxValue
Returns a constant containing a special RDN which sorts after any RDN other than itself. This RDN may be used in order to perform range queries on DN keyed collections such asSortedSet
s andSortedMap
s. For example, the following code can be used to construct a range whose contents is a sub-tree of entries:SortedMap<Dn, Entry> entries = ...; Dn baseDn = ...; // Returns a map containing the baseDN and all of its subordinates. SortedMap<Dn,Entry> subtree = entries.subMap(baseDn, baseDn.child(Rdn.maxValue()));
- Returns:
- A constant containing a special RDN which sorts after any RDN other than itself.
- See Also:
-
valueOf
Parses the provided LDAP string representation of an RDN using the default schema.- Parameters:
rdn
- The LDAP string representation of a RDN.- Returns:
- The parsed RDN.
- Throws:
LocalizedIllegalArgumentException
- Ifrdn
is not a valid LDAP string representation of a RDN.NullPointerException
- Ifrdn
wasnull
.
-
valueOf
Parses the provided LDAP string representation of a RDN using the provided schema.- Parameters:
rdn
- The LDAP string representation of a RDN.schema
- The schema to use when parsing the RDN.- Returns:
- The parsed RDN.
- Throws:
LocalizedIllegalArgumentException
- Ifrdn
is not a valid LDAP string representation of a RDN.NullPointerException
- Ifrdn
orschema
wasnull
.
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Rdn>
-
equals
-
getAttributeValue
Returns the attribute value contained in this RDN which is associated with the provided attribute type, ornull
if this RDN does not include such an attribute value.- Parameters:
attributeType
- The attribute type.- Returns:
- The attribute value.
-
getFirstAva
Returns the first AVA contained in this RDN.- Returns:
- The first AVA contained in this RDN.
-
hashCode
public int hashCode() -
isMultiValued
public boolean isMultiValued()Returnstrue
if this RDN contains more than one AVA.- Returns:
true
if this RDN contains more than one AVA, otherwisefalse
.
-
hasAttributeType
Indicates whether this RDN includes the specified attribute type.- Parameters:
attributeType
- The attribute type for which to make the determination.- Returns:
true
if the RDN includes the specified attribute type, orfalse
if not.
-
iterator
Returns an iterator of the AVAs contained in this RDN. The AVAs will be returned in the user provided order.Attempts to remove AVAs using an iterator's
remove()
method are not permitted and will result in anUnsupportedOperationException
being thrown. -
size
public int size()Returns the number of AVAs in this RDN.- Returns:
- The number of AVAs in this RDN.
-
toString
Returns the RFC 4514 string representation of this RDN. If this RDN was constructed using a call tovalueOf(String)
, then this method will return the original user-provided string representation cleaned such that any illegal white-space characters are removed.
-