# Class SortKey

java.lang.Object
javax.naming.ldap.SortKey

public class SortKey extends Object
A sort key and its associated sort parameters. This class implements a sort key which is used by the LDAPv3 Control for server-side sorting of search results as defined in RFC 2891.

Since:
  1.5
See Also:
  - `SortControl`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SortKey(String attrID)`
  Creates the default sort key for an attribute.
  `SortKey(String attrID, boolean ascendingOrder, String matchingRuleID)`
  Creates a sort key for an attribute.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getAttributeID()`
  Retrieves the attribute ID of the sort key.
  `String`
  `getMatchingRuleID()`
  Retrieves the matching rule ID used to order the attribute values.
  `boolean`
  `isAscending()`
  Determines the sort order.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### SortKey

    public SortKey(String attrID)
    Creates the default sort key for an attribute. Entries will be sorted according to the specified attribute in ascending order using the ordering matching rule defined for use with that attribute.
    Parameters:
      `attrID` - The non-null ID of the attribute to be used as a sort key.

  - ### SortKey

    public SortKey(String attrID, boolean ascendingOrder, String matchingRuleID)
    Creates a sort key for an attribute. Entries will be sorted according to the specified attribute in the specified sort order and using the specified matching rule, if supplied.
    Parameters:
      `attrID` - The non-null ID of the attribute to be used as a sort key.
      `ascendingOrder` - If true then entries are arranged in ascending order. Otherwise there are arranged in descending order.
      `matchingRuleID` - The possibly null ID of the matching rule to use to order the attribute values. If not specified then the ordering matching rule defined for the sort key attribute is used.

- ## Method Details

  - ### getAttributeID

    public String getAttributeID()
    Retrieves the attribute ID of the sort key.
    Returns:
      The non-null Attribute ID of the sort key.

  - ### isAscending

    public boolean isAscending()
    Determines the sort order.
    Returns:
      true if the sort order is ascending, false if descending.

  - ### getMatchingRuleID

    public String getMatchingRuleID()
    Retrieves the matching rule ID used to order the attribute values.
    Returns:
      The possibly null matching rule ID. If null then the ordering matching rule defined for the sort key attribute is used.