Class LDAPCompareAttrNames
- java.lang.Object
-
- netscape.ldap.LDAPCompareAttrNames
-
- All Implemented Interfaces:
java.io.Serializable
,LDAPEntryComparator
public class LDAPCompareAttrNames extends java.lang.Object implements LDAPEntryComparator, java.io.Serializable
Compares LDAP entries based on one or more attribute values.To use this comparison for sorting search results, pass an object of this class to the
sort
method inLDAPSearchResults
.- Version:
- 1.0
- See Also:
LDAPEntryComparator
,LDAPSearchResults.sort(netscape.ldap.LDAPEntryComparator)
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LDAPCompareAttrNames(java.lang.String attribute)
Constructs a comparator that compares the string values of a named attribute in LDAP entries and sorts the entries in ascending order.LDAPCompareAttrNames(java.lang.String[] attributes)
Constructs a comparator that compares the string values of a set of named attributes in LDAP entries and that sort the entries in ascending order.LDAPCompareAttrNames(java.lang.String[] attributes, boolean[] ascendingFlags)
Constructs a comparator that compares the string values of a set of named attributes in LDAP entries and allows you to sort the entries in ascending or descending order.LDAPCompareAttrNames(java.lang.String attribute, boolean ascendingFlag)
Constructs a comparator that compares the string values of a named attribute in LDAP entries and that allows you to sort entries either in ascending or descending order.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
getCaseSensitive()
Gets the state of the case-sensitivity flag.java.util.Locale
getLocale()
Gets the locale, if any, used for collation.boolean
isGreater(LDAPEntry greater, LDAPEntry less)
Returnstrue
if the value of the attribute in the first entry is greater than the value of the attribute in the second entry.void
setCaseSensitive(boolean sensitive)
Sets the state of the case-sensitivity flag.void
setLocale(java.util.Locale locale)
Set the locale, if any, used for collation.void
setLocale(java.util.Locale locale, int strength)
Sets the locale, if any, used for collation.
-
-
-
Constructor Detail
-
LDAPCompareAttrNames
public LDAPCompareAttrNames(java.lang.String attribute)
Constructs a comparator that compares the string values of a named attribute in LDAP entries and sorts the entries in ascending order.- Parameters:
attribute
- name of attribute for comparisons
-
LDAPCompareAttrNames
public LDAPCompareAttrNames(java.lang.String attribute, boolean ascendingFlag)
Constructs a comparator that compares the string values of a named attribute in LDAP entries and that allows you to sort entries either in ascending or descending order.- Parameters:
attribute
- name of attribute for comparisonsascendingFlag
- iftrue
, sort in ascending order
-
LDAPCompareAttrNames
public LDAPCompareAttrNames(java.lang.String[] attributes)
Constructs a comparator that compares the string values of a set of named attributes in LDAP entries and that sort the entries in ascending order.Use an array of strings to specify the set of attributes to use for sorting. If the values of the first attribute (the name specified in
attribute[0]
) are equal, then the values of the next attribute are compared.For example, if
attributes[0] = "cn"
andattributes[1]="uid"
, results are first sorted by thecn
attribute. If two entries have the same value forcn
, then theuid
attribute is used to sort the entries.- Parameters:
attributes
- array of the attribute names used for comparisons
-
LDAPCompareAttrNames
public LDAPCompareAttrNames(java.lang.String[] attributes, boolean[] ascendingFlags)
Constructs a comparator that compares the string values of a set of named attributes in LDAP entries and allows you to sort the entries in ascending or descending order.Use an array of strings to specify the set of attributes to use for sorting. If the values of the first attribute (the name specified in
attribute[0]
) are equal, then the values of the next attribute are compared.For example, if
attributes[0] = "cn"
andattributes[1]="uid"
, results are first sorted by thecn
attribute. If two entries have the same value forcn
, then theuid
attribute is used to sort the entries.Use an array of boolean values to specify whether each attribute should be sorted in ascending or descending order. For example, suppose that
attributes[0] = "cn"
andattributes[1]="roomNumber"
. IfascendingFlags[0]=true
andascendingFlags[1]=false
, attributes are sorted first bycn
in ascending order, then byroomNumber
in descending order.If the size of the array of attribute names is not the same as the size of the array of boolean values, an
LDAPException
is thrown.- Parameters:
attributes
- array of the attribute names to use for comparisonsascendingFlags
- array of boolean values specifying ascending or descending order to use for each attribute name. Iftrue
, the attributes are sorted in ascending order.
-
-
Method Detail
-
getLocale
public java.util.Locale getLocale()
Gets the locale, if any, used for collation. If the locale is null, an ordinary string comparison is used for sorting.- Returns:
- the locale used for collation, or null.
-
setLocale
public void setLocale(java.util.Locale locale)
Set the locale, if any, used for collation. If the locale is null, an ordinary string comparison is used for sorting. If sorting has been set to case-insensitive, the collation strength is set to Collator.PRIMARY, otherwise to Collator.IDENTICAL. If a different collation strength setting is required, use the signature that takes a collation strength parameter.- Parameters:
locale
- the locale used for collation, or null.
-
setLocale
public void setLocale(java.util.Locale locale, int strength)
Sets the locale, if any, used for collation. If the locale is null, an ordinary string comparison is used for sorting.- Parameters:
locale
- the locale used for collation, or null.strength
- collation strength: Collator.PRIMARY, Collator.SECONDARY, Collator.TERTIARY, or Collator.IDENTICAL
-
getCaseSensitive
public boolean getCaseSensitive()
Gets the state of the case-sensitivity flag. This only applies to Unicode sort order; for locale-specific sorting, case-sensitivity is controlled by the collation strength.- Returns:
true
for case-sensitive sorting; this is the default
-
setCaseSensitive
public void setCaseSensitive(boolean sensitive)
Sets the state of the case-sensitivity flag. This only applies to Unicode sort order; for locale-specific sorting, case-sensitivity is controlled by the collation strength.- Parameters:
sensitive
-true
for case-sensitive sorting; this is the default
-
isGreater
public boolean isGreater(LDAPEntry greater, LDAPEntry less)
Returnstrue
if the value of the attribute in the first entry is greater than the value of the attribute in the second entry.If one of the entries is missing the attribute, the other is considered greater. By default, the first entry is greater.
If either entry contains multiple values, only the first value is used for comparisons.
- Specified by:
isGreater
in interfaceLDAPEntryComparator
- Parameters:
greater
- entry against which to testless
- entry to test- Returns:
true
if (greater > less
).- See Also:
LDAPCompareAttrNames
,LDAPSearchResults.sort(netscape.ldap.LDAPEntryComparator)
-
-