javax.naming.ldap
public final class: SortResponseControl [javadoc |
source]
java.lang.Object
javax.naming.ldap.BasicControl
javax.naming.ldap.SortResponseControl
All Implemented Interfaces:
Control
Indicates whether the requested sort of search results was successful or not.
When the result code indicates success then the results have been sorted as
requested. Otherwise the sort was unsuccessful and additional details
regarding the cause of the error may have been provided by the server.
The code sample in SortControl shows how this class may be used.
This class implements the LDAPv3 Response Control for server-side sorting
as defined in
RFC 2891.
The control's value has the following ASN.1 definition:
SortResult ::= SEQUENCE {
sortResult ENUMERATED {
success (0), -- results are sorted
operationsError (1), -- server internal failure
timeLimitExceeded (3), -- timelimit reached before
-- sorting was completed
strongAuthRequired (8), -- refused to return sorted
-- results via insecure
-- protocol
adminLimitExceeded (11), -- too many matching entries
-- for the server to sort
noSuchAttribute (16), -- unrecognized attribute
-- type in sort key
inappropriateMatching (18), -- unrecognized or inappro-
-- priate matching rule in
-- sort key
insufficientAccessRights (50), -- refused to return sorted
-- results to this client
busy (51), -- too busy to process
unwillingToPerform (53), -- unable to sort
other (80)
},
attributeType [0] AttributeType OPTIONAL }
Also see:
- SortControl
- since:
1.5 -
- author:
Vincent - Ryan
| Field Summary |
|---|
| public static final String | OID | The server-side sort response control's assigned object identifier
is 1.2.840.113556.1.4.474. |
| Constructor: |
public SortResponseControl(String id,
boolean criticality,
byte[] value) throws IOException {
super(id, criticality, value);
// decode value
BerDecoder ber = new BerDecoder(value, 0, value.length);
ber.parseSeq(null);
resultCode = ber.parseEnumeration();
if ((ber.bytesLeft() > 0) && (ber.peekByte() == Ber.ASN_CONTEXT)) {
badAttrId = ber.parseStringWithTag(Ber.ASN_CONTEXT, true, null);
}
}
Constructs a control to indicate the outcome of a sort request. Parameters:
id - The control's object identifier string.
criticality - The control's criticality.
value - The control's ASN.1 BER encoded value.
It is not cloned - any changes to value
will affect the contents of the control.
Throws:
IOException - if an error is encountered
while decoding the control's value.
- exception:
IOException - if an error is encountered
while decoding the control's value.
|
| Methods from java.lang.Object: |
|---|
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from javax.naming.ldap.SortResponseControl Detail: |
public String getAttributeID() {
return badAttrId;
}
Retrieves the ID of the attribute that caused the sort to fail.
Returns null if no ID was returned by the server. |
public NamingException getException() {
return LdapCtx.mapErrorCode(resultCode, null);
}
Retrieves the NamingException appropriate for the result code. |
public int getResultCode() {
return resultCode;
}
Retrieves the LDAP result code of the sort operation. |
public boolean isSorted() {
return (resultCode == 0); // a result code of zero indicates success
}
Determines if the search results have been successfully sorted.
If an error occurred during sorting a NamingException is thrown. |