@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class RDN extends java.lang.Object implements java.lang.Comparable<RDN>, java.util.Comparator<RDN>, java.io.Serializable
DN
class for more information about DNs and
RDNs.Constructor and Description |
---|
RDN(java.lang.String rdnString)
Creates a new RDN from the provided string representation.
|
RDN(java.lang.String[] attributeNames,
byte[][] attributeValues)
Creates a new (potentially multivalued) RDN.
|
RDN(java.lang.String[] attributeNames,
byte[][] attributeValues,
Schema schema)
Creates a new (potentially multivalued) RDN.
|
RDN(java.lang.String[] attributeNames,
java.lang.String[] attributeValues)
Creates a new (potentially multivalued) RDN.
|
RDN(java.lang.String[] attributeNames,
java.lang.String[] attributeValues,
Schema schema)
Creates a new (potentially multivalued) RDN.
|
RDN(java.lang.String attributeName,
byte[] attributeValue)
Creates a new single-valued RDN with the provided information.
|
RDN(java.lang.String attributeName,
byte[] attributeValue,
Schema schema)
Creates a new single-valued RDN with the provided information.
|
RDN(java.lang.String rdnString,
Schema schema)
Creates a new RDN from the provided string representation.
|
RDN(java.lang.String rdnString,
Schema schema,
boolean strictNameChecking)
Creates a new RDN from the provided string representation.
|
RDN(java.lang.String attributeName,
java.lang.String attributeValue)
Creates a new single-valued RDN with the provided information.
|
RDN(java.lang.String attributeName,
java.lang.String attributeValue,
Schema schema)
Creates a new single-valued RDN with the provided information.
|
Modifier and Type | Method and Description |
---|---|
int |
compare(RDN rdn1,
RDN rdn2)
Compares the provided RDN values to determine their relative order in a
sorted list.
|
static int |
compare(java.lang.String s1,
java.lang.String s2)
Compares the RDN values with the provided string representations to
determine their relative order in a sorted list.
|
static int |
compare(java.lang.String s1,
java.lang.String s2,
Schema schema)
Compares the RDN values with the provided string representations to
determine their relative order in a sorted list.
|
int |
compareTo(RDN rdn)
Compares the provided RDN to this RDN to determine their relative order in
a sorted list.
|
boolean |
equals(java.lang.Object o)
Indicates whether this RDN is equal to the provided object.
|
boolean |
equals(java.lang.String s)
Indicates whether the RDN with the provided string representation is equal
to this RDN.
|
static boolean |
equals(java.lang.String s1,
java.lang.String s2)
Indicates whether the two provided strings represent the same RDN.
|
java.lang.String[] |
getAttributeNames()
Retrieves the set of attribute names for this RDN.
|
Attribute[] |
getAttributes()
Retrieves an array of the attributes that comprise this RDN.
|
java.lang.String[] |
getAttributeValues()
Retrieves the set of attribute values for this RDN.
|
byte[][] |
getByteArrayAttributeValues()
Retrieves the set of attribute values for this RDN.
|
java.util.SortedSet<RDNNameValuePair> |
getNameValuePairs()
Retrieves a sorted set of the name-value pairs that comprise this RDN.
|
int |
getValueCount()
Retrieves the number of values for this RDN.
|
boolean |
hasAttribute(java.lang.String attributeName)
Indicates whether this RDN contains the specified attribute.
|
boolean |
hasAttributeValue(java.lang.String attributeName,
byte[] attributeValue)
Indicates whether this RDN contains the specified attribute value.
|
boolean |
hasAttributeValue(java.lang.String attributeName,
java.lang.String attributeValue)
Indicates whether this RDN contains the specified attribute value.
|
int |
hashCode()
Retrieves a hash code for this RDN.
|
boolean |
isMultiValued()
Indicates whether this RDN contains multiple values.
|
static boolean |
isValidRDN(java.lang.String s)
Indicates whether the provided string represents a valid RDN.
|
static boolean |
isValidRDN(java.lang.String s,
boolean strictNameChecking)
Indicates whether the provided string represents a valid RDN.
|
static java.lang.String |
normalize(java.lang.String s)
Retrieves a normalized string representation of the RDN with the provided
string representation.
|
static java.lang.String |
normalize(java.lang.String s,
Schema schema)
Retrieves a normalized string representation of the RDN with the provided
string representation.
|
java.lang.String |
toMinimallyEncodedString()
Retrieves a string representation of this RDN with minimal encoding for
special characters.
|
java.lang.String |
toNormalizedString()
Retrieves a normalized string representation of this RDN.
|
void |
toNormalizedString(java.lang.StringBuilder buffer)
Appends a normalized string representation of this RDN to the provided
buffer.
|
java.lang.String |
toString()
Retrieves a string representation of this RDN.
|
void |
toString(ByteStringBuffer buffer,
DNEscapingStrategy escapingStrategy)
Appends a string representation of this RDN to the provided buffer.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this RDN to the provided buffer.
|
void |
toString(java.lang.StringBuilder buffer,
boolean minimizeEncoding)
Appends a string representation of this RDN to the provided buffer.
|
public RDN(@NotNull java.lang.String attributeName, @NotNull java.lang.String attributeValue)
attributeName
- The attribute name for this RDN. It must not be
null
.attributeValue
- The attribute value for this RDN. It must not be
null
.public RDN(@NotNull java.lang.String attributeName, @NotNull java.lang.String attributeValue, @Nullable Schema schema)
attributeName
- The attribute name for this RDN. It must not be
null
.attributeValue
- The attribute value for this RDN. It must not be
null
.schema
- The schema to use to generate the normalized string
representation of this RDN. It may be null
if no schema is available.public RDN(@NotNull java.lang.String attributeName, @NotNull byte[] attributeValue)
attributeName
- The attribute name for this RDN. It must not be
null
.attributeValue
- The attribute value for this RDN. It must not be
null
.public RDN(@NotNull java.lang.String attributeName, @NotNull byte[] attributeValue, @Nullable Schema schema)
attributeName
- The attribute name for this RDN. It must not be
null
.attributeValue
- The attribute value for this RDN. It must not be
null
.schema
- The schema to use to generate the normalized string
representation of this RDN. It may be null
if no schema is available.public RDN(@NotNull java.lang.String[] attributeNames, @NotNull java.lang.String[] attributeValues)
attributeNames
- The set of attribute names for this RDN. It must
not be null
or empty.attributeValues
- The set of attribute values for this RDN. It must
not be null
or empty.public RDN(@NotNull java.lang.String[] attributeNames, @NotNull java.lang.String[] attributeValues, @Nullable Schema schema)
attributeNames
- The set of attribute names for this RDN. It must
not be null
or empty.attributeValues
- The set of attribute values for this RDN. It must
not be null
or empty.schema
- The schema to use to generate the normalized
string representation of this RDN. It may be
null
if no schema is available.public RDN(@NotNull java.lang.String[] attributeNames, @NotNull byte[][] attributeValues)
attributeNames
- The set of attribute names for this RDN. It must
not be null
or empty.attributeValues
- The set of attribute values for this RDN. It must
not be null
or empty.public RDN(@NotNull java.lang.String[] attributeNames, @NotNull byte[][] attributeValues, @Nullable Schema schema)
attributeNames
- The set of attribute names for this RDN. It must
not be null
or empty.attributeValues
- The set of attribute values for this RDN. It must
not be null
or empty.schema
- The schema to use to generate the normalized
string representation of this RDN. It may be
null
if no schema is available.public RDN(@NotNull java.lang.String rdnString) throws LDAPException
rdnString
- The string representation to use for this RDN. It must
not be empty or null
.LDAPException
- If the provided string cannot be parsed as a valid
RDN.public RDN(@NotNull java.lang.String rdnString, @Nullable Schema schema) throws LDAPException
rdnString
- The string representation to use for this RDN. It must
not be empty or null
.schema
- The schema to use to generate the normalized string
representation of this RDN. It may be null
if
no schema is available.LDAPException
- If the provided string cannot be parsed as a valid
RDN.public RDN(@NotNull java.lang.String rdnString, @Nullable Schema schema, boolean strictNameChecking) throws LDAPException
rdnString
- The string representation to use for this RDN.
It must not be empty or null
.schema
- The schema to use to generate the normalized
string representation of this RDN. It may be
null
if no schema is available.strictNameChecking
- Indicates whether to verify that all attribute
type names are valid as per RFC 4514. If this
is false
, then some technically invalid
characters may be accepted in attribute type
names. If this is true
, then names
must be strictly compliant.LDAPException
- If the provided string cannot be parsed as a valid
RDN.public static boolean isValidRDN(@NotNull java.lang.String s)
s
- The string for which to make the determination. It must not be
null
.true
if the provided string represents a valid RDN, or
false
if not.public static boolean isValidRDN(@NotNull java.lang.String s, boolean strictNameChecking)
s
- The string for which to make the determination.
It must not be null
.strictNameChecking
- Indicates whether to verify that all attribute
type names are valid as per RFC 4514. If this
is false
, then some technically invalid
characters may be accepted in attribute type
names. If this is true
, then names
must be strictly compliant.true
if the provided string represents a valid RDN, or
false
if not.public boolean isMultiValued()
true
if this RDN contains multiple values, or
false
if not.public int getValueCount()
@NotNull public Attribute[] getAttributes()
@NotNull public java.lang.String[] getAttributeNames()
@NotNull public java.lang.String[] getAttributeValues()
@NotNull public byte[][] getByteArrayAttributeValues()
@NotNull public java.util.SortedSet<RDNNameValuePair> getNameValuePairs()
public boolean hasAttribute(@NotNull java.lang.String attributeName)
attributeName
- The name of the attribute for which to make the
determination.true
if RDN contains the specified attribute, or
false
if not.public boolean hasAttributeValue(@NotNull java.lang.String attributeName, @NotNull java.lang.String attributeValue)
attributeName
- The name of the attribute for which to make the
determination.attributeValue
- The attribute value for which to make the
determination.true
if RDN contains the specified attribute, or
false
if not.public boolean hasAttributeValue(@NotNull java.lang.String attributeName, @NotNull byte[] attributeValue)
attributeName
- The name of the attribute for which to make the
determination.attributeValue
- The attribute value for which to make the
determination.true
if RDN contains the specified attribute, or
false
if not.@NotNull public java.lang.String toString()
toString
in class java.lang.Object
@NotNull public java.lang.String toMinimallyEncodedString()
public void toString(@NotNull java.lang.StringBuilder buffer)
buffer
- The buffer to which the string representation is to be
appended.public void toString(@NotNull java.lang.StringBuilder buffer, boolean minimizeEncoding)
buffer
- The buffer to which the string representation is
to be appended.minimizeEncoding
- Indicates whether to restrict the encoding of
special characters to the bare minimum required
by LDAP (as per RFC 4514 section 2.4). If this
is true
, then only leading and trailing
spaces, double quotes, plus signs, commas,
semicolons, greater-than, less-than, and
backslash characters will be encoded.public void toString(@NotNull ByteStringBuffer buffer, @NotNull DNEscapingStrategy escapingStrategy)
buffer
- The buffer to which the string representation is
to be appended. It must not be null
.escapingStrategy
- The strategy to use to determine which types of
optional escaping should be used for values. It
must not be null
.@NotNull public java.lang.String toNormalizedString()
public void toNormalizedString(@NotNull java.lang.StringBuilder buffer)
buffer
- The buffer to which the normalized string representation is
to be appended.@NotNull public static java.lang.String normalize(@NotNull java.lang.String s) throws LDAPException
s
- The string representation of the RDN to normalize. It must not
be null
.LDAPException
- If the provided string cannot be parsed as an RDN.@NotNull public static java.lang.String normalize(@NotNull java.lang.String s, @Nullable Schema schema) throws LDAPException
s
- The string representation of the RDN to normalize. It must
not be null
.schema
- The schema to use to generate the normalized string
representation of the RDN. It may be null
if no
schema is available.LDAPException
- If the provided string cannot be parsed as an RDN.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(@Nullable java.lang.Object o)
equals
in interface java.util.Comparator<RDN>
equals
in class java.lang.Object
o
- The object for which to make the determination.true
if the provided object can be considered equal to
this RDN, or false
if not.public boolean equals(@Nullable java.lang.String s) throws LDAPException
s
- The string representation of the DN to compare with this RDN.true
if the DN with the provided string representation is
equal to this RDN, or false
if not.LDAPException
- If the provided string cannot be parsed as an RDN.public static boolean equals(@NotNull java.lang.String s1, @NotNull java.lang.String s2) throws LDAPException
s1
- The string representation of the first RDN for which to make
the determination. It must not be null
.s2
- The string representation of the second RDN for which to make
the determination. It must not be null
.true
if the provided strings represent the same RDN, or
false
if not.LDAPException
- If either of the provided strings cannot be parsed
as an RDN.public int compareTo(@NotNull RDN rdn)
compareTo
in interface java.lang.Comparable<RDN>
rdn
- The RDN to compare against this RDN. It must not be
null
.public int compare(@NotNull RDN rdn1, @NotNull RDN rdn2)
compare
in interface java.util.Comparator<RDN>
rdn1
- The first RDN to be compared. It must not be null
.rdn2
- The second RDN to be compared. It must not be null
.public static int compare(@NotNull java.lang.String s1, @NotNull java.lang.String s2) throws LDAPException
s1
- The string representation of the first RDN to be compared. It
must not be null
.s2
- The string representation of the second RDN to be compared. It
must not be null
.LDAPException
- If either of the provided strings cannot be parsed
as an RDN.public static int compare(@NotNull java.lang.String s1, @NotNull java.lang.String s2, @Nullable Schema schema) throws LDAPException
s1
- The string representation of the first RDN to be compared.
It must not be null
.s2
- The string representation of the second RDN to be compared.
It must not be null
.schema
- The schema to use to generate the normalized string
representations of the RDNs. It may be null
if no
schema is available.LDAPException
- If either of the provided strings cannot be parsed
as an RDN.