Package org.ldaptive.dn
Class Dn
java.lang.Object
org.ldaptive.AbstractFreezable
org.ldaptive.dn.Dn
- All Implemented Interfaces:
Freezable
Distinguished name containing zero or more relative distinguished names. RDNs are ordered from left to right such
that the left-most RDN is considered the first. For the DN 'cn=Jane Doe,ou=People,dc=ldaptive,dc=org', the first RDN
is 'cn=Jane Doe'.
See RFC 4514 for more details on the string representations of
DNs.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final inthash code seed.RDN components. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds the supplied RDN at the supplied index.voidAdds all the RDNs in the supplied DN to the end of this DN.voidAdds the supplied RDN to the end of this DN.static Dn.Builderbuilder()Creates a builder for this class.static DnCreates a mutable copy of the supplied DN.booleanformat()Produces a string representation of this DN.format(RDnNormalizer normalizer) Produces a string representation of this DN.format(RDnNormalizer normalizer, char delimiter, boolean reverse) Produces a string representation of this DN.getNames()Returns all the RDN names.Convenience method to retrieve the parent DN.getRDn()Returns the first RDN in this DN.getRDns()Returns the RDNs in this DN.Returns the first RDN value with the supplied name.Returns the RDN values with the supplied name.inthashCode()booleanisAncestor(Dn dn) Returns whether the supplied DN is an ancestor.booleanisAncestor(Dn dn, RDnNormalizer normalizer) Returns whether the supplied DN is an ancestor.booleanisDescendant(Dn dn) Returns whether the supplied DN is a descendant.booleanisDescendant(Dn dn, RDnNormalizer normalizer) Returns whether the supplied DN is a descendant.booleanisEmpty()Returns whether this DN contains any RDN components.booleanReturns whether the normalized format of the supplied DN equals the normalized format of this DN.booleanisSame(Dn dn, RDnNormalizer normalizer) Returns whether the normalized format of the supplied DN equals the normalized format of this DN.intsize()Returns the number of RDNs in this DN.subDn(int index) Returns a new DN containing all the RDN components from the supplied index.subDn(int beginIndex, int endIndex) Returns a new DN containing all the RDN components between the supplied indexes.toString()Methods inherited from class org.ldaptive.AbstractFreezable
assertMutable, freeze, freeze, freeze, isFrozen
-
Field Details
-
HASH_CODE_SEED
private static final int HASH_CODE_SEEDhash code seed.- See Also:
-
rdnComponents
RDN components.
-
-
Constructor Details
-
Dn
public Dn()Default constructor. -
Dn
Creates a new DN with the supplied string. Uses aDefaultDnParserby default.- Parameters:
dn- to parse
-
Dn
Creates a new DN with the supplied string.- Parameters:
dn- to parseparser- to parse dn
-
Dn
Creates a new DN with the supplied RDNs.- Parameters:
rdn- to add
-
Dn
Creates a new DN with the supplied RDNs.- Parameters:
rdns- to add
-
-
Method Details
-
getRDn
Returns the first RDN in this DN.- Returns:
- first RDN
-
getRDns
Returns the RDNs in this DN.- Returns:
- RDNs
-
add
Adds all the RDNs in the supplied DN to the end of this DN.- Parameters:
dn- to add to this DN
-
add
Adds the supplied RDN to the end of this DN.- Parameters:
rdn- to add to this DN
-
add
Adds the supplied RDN at the supplied index.- Parameters:
index- to add the RDN atrdn- to add to this DN
-
subDn
Returns a new DN containing all the RDN components from the supplied index.- Parameters:
index- of RDNs to include- Returns:
- DN with sub-components of this DN
-
subDn
Returns a new DN containing all the RDN components between the supplied indexes.- Parameters:
beginIndex- first RDN to include (inclusive)endIndex- last RDN to include (exclusive)- Returns:
- DN with sub-components of this DN or null if beginIndex > endIndex
-
getParent
Convenience method to retrieve the parent DN. InvokessubDn(int)with a parameter of 1.- Returns:
- DN containing all sub-components of this DN except the first or null if this DN has no components
-
getNames
Returns all the RDN names.- Returns:
- all RDN names
-
getValues
Returns the RDN values with the supplied name. If the RDN is multi-value the first value is used.- Parameters:
name- of the RDN- Returns:
- RDN values for the supplied name
-
getValue
Returns the first RDN value with the supplied name. If the RDN is multi-value the first value is used.- Parameters:
name- of the RDN- Returns:
- RDN value
-
size
public int size()Returns the number of RDNs in this DN.- Returns:
- number of RDNs
-
isEmpty
public boolean isEmpty()Returns whether this DN contains any RDN components.- Returns:
- whether this DN contains any RDN components
-
isSame
Returns whether the normalized format of the supplied DN equals the normalized format of this DN. SeeDefaultRDnNormalizer.- Parameters:
dn- to compare- Returns:
- whether the supplied DN is the same as this DN
-
isSame
Returns whether the normalized format of the supplied DN equals the normalized format of this DN.- Parameters:
normalizer- to use for comparisondn- to compare- Returns:
- whether the supplied DN is the same as this DN
-
isAncestor
Returns whether the supplied DN is an ancestor. SeeisSame(Dn).- Parameters:
dn- to determine ancestry of- Returns:
- whether the supplied DN is an ancestor
-
isAncestor
Returns whether the supplied DN is an ancestor. SeeisSame(Dn, RDnNormalizer).- Parameters:
dn- to determine ancestry ofnormalizer- to format DN for comparison- Returns:
- whether the supplied DN is an ancestor
-
isDescendant
Returns whether the supplied DN is a descendant. SeeisSame(Dn).- Parameters:
dn- to determine descendancy of- Returns:
- whether the supplied DN is a descendant
-
isDescendant
Returns whether the supplied DN is a descendant. SeeisSame(Dn, RDnNormalizer).- Parameters:
dn- to determine descendancy ofnormalizer- to format DN for comparison- Returns:
- whether the supplied DN is a descendant
-
format
Produces a string representation of this DN. Uses aDefaultRDnNormalizerby default.- Returns:
- DN string
-
format
Produces a string representation of this DN.- Parameters:
normalizer- to apply to the RDN components or null for no formatting- Returns:
- DN string
-
format
Produces a string representation of this DN.- Parameters:
normalizer- to apply to the RDN components or null for no formattingdelimiter- to separate each RDN componentreverse- whether to reverse the order of RDN components for formatting. i.e. process components from right to left- Returns:
- DN string
-
equals
-
hashCode
public int hashCode() -
toString
-
copy
Creates a mutable copy of the supplied DN.- Parameters:
dn- to copy- Returns:
- new DN instance
-
builder
Creates a builder for this class.- Returns:
- new builder
-