declare namespace javax { namespace naming { namespace ldap { /** * Requests that the results of a search operation be sorted by the LDAP server * before being returned. * The sort criteria are specified using an ordered list of one or more sort * keys, with associated sort parameters. * Search results are sorted at the LDAP server according to the parameters * supplied in the sort control and then returned to the requestor. If sorting * is not supported at the server (and the sort control is marked as critical) * then the search operation is not performed and an error is returned. *

* The following code sample shows how the class may be used: *

{@code
             * // Open an LDAP association
             * LdapContext ctx = new InitialLdapContext();
             * // Activate sorting
             * String sortKey = "cn";
             * ctx.setRequestControls(new Control[]{
             * new SortControl(sortKey, Control.CRITICAL) });
             * // Perform a search
             * NamingEnumeration results =
             * ctx.search("", "(objectclass=*)", new SearchControls());
             * // Iterate over search results
             * while (results != null && results.hasMore()) {
             * // Display an entry
             * SearchResult entry = (SearchResult)results.next();
             * System.out.println(entry.getName());
             * System.out.println(entry.getAttributes());
             * // Handle the entry's response controls (if any)
             * if (entry instanceof HasControls) {
             * // ((HasControls)entry).getControls();
             * }
             * }
             * // Examine the sort control response
             * Control[] controls = ctx.getResponseControls();
             * if (controls != null) {
             * for (int i = 0; i < controls.length; i++) {
             * if (controls[i] instanceof SortResponseControl) {
             * SortResponseControl src = (SortResponseControl)controls[i];
             * if (! src.isSorted()) {
             * throw src.getException();
             * }
             * } else {
             * // Handle other response controls (if any)
             * }
             * }
             * }
             * // Close the LDAP association
             * ctx.close();
             * ...
             * }
*

* This class implements the LDAPv3 Request Control for server-side sorting * as defined in * RFC 2891. * The control's value has the following ASN.1 definition: *

             * SortKeyList ::= SEQUENCE OF SEQUENCE {
             * attributeType     AttributeDescription,
             * orderingRule  [0] MatchingRuleId OPTIONAL,
             * reverseOrder  [1] BOOLEAN DEFAULT FALSE }
             * 
* @since 1.5 * @see SortKey * @see SortResponseControl * @author Vincent Ryan */ // @ts-ignore class SortControl extends javax.naming.ldap.BasicControl { /** * Constructs a control to sort on a single attribute in ascending order. * Sorting will be performed using the ordering matching rule defined * for use with the specified attribute. * @param sortBy An attribute ID to sort by. * @param criticality If true then the server must honor the control * and return the search results sorted as * requested or refuse to perform the search. * If false, then the server need not honor the * control. * @exception IOException If an error was encountered while encoding the * supplied arguments into a control. */ // @ts-ignore constructor(sortBy: java.lang.String | string, criticality: boolean) /** * Constructs a control to sort on a list of attributes in ascending order. * Sorting will be performed using the ordering matching rule defined * for use with each of the specified attributes. * @param sortBy A non-null list of attribute IDs to sort by. * The list is in order of highest to lowest sort key * precedence. * @param criticality If true then the server must honor the control * and return the search results sorted as * requested or refuse to perform the search. * If false, then the server need not honor the * control. * @exception IOException If an error was encountered while encoding the * supplied arguments into a control. */ // @ts-ignore constructor(sortBy: java.lang.String[] | string[], criticality: boolean) /** * Constructs a control to sort on a list of sort keys. * Each sort key specifies the sort order and ordering matching rule to use. * @param sortBy A non-null list of keys to sort by. * The list is in order of highest to lowest sort key * precedence. * @param criticality If true then the server must honor the control * and return the search results sorted as * requested or refuse to perform the search. * If false, then the server need not honor the * control. * @exception IOException If an error was encountered while encoding the * supplied arguments into a control. */ // @ts-ignore constructor(sortBy: javax.naming.ldap.SortKey[], criticality: boolean) /** * The server-side sort control's assigned object identifier * is 1.2.840.113556.1.4.473. */ // @ts-ignore public static readonly OID: java.lang.String | string } } } }