Class SortResponseControl
java.lang.Object
javax.naming.ldap.BasicControl
javax.naming.ldap.SortResponseControl
- All Implemented Interfaces:
Serializable, 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 }
- Since:
- 1.5
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe server-side sort response control's assigned object identifier is 1.2.840.113556.1.4.474.Fields declared in class BasicControl
criticality, id, valueModifier and TypeFieldDescriptionprotected booleanThe control's criticality.protected StringThe control's object identifier string.protected byte[]The control's ASN.1 BER encoded value.Fields declared in interface Control
CRITICAL, NONCRITICALModifier and TypeFieldDescriptionstatic final booleanIndicates a critical control.static final booleanIndicates a non-critical control. -
Constructor Summary
ConstructorsConstructorDescriptionSortResponseControl(String id, boolean criticality, byte[] value) Constructs a control to indicate the outcome of a sort request. -
Method Summary
Modifier and TypeMethodDescriptionRetrieves the ID of the attribute that caused the sort to fail.Retrieves the NamingException appropriate for the result code.intRetrieves the LDAP result code of the sort operation.booleanisSorted()Determines if the search results have been successfully sorted.Methods declared in class BasicControl
getEncodedValue, getID, isCriticalModifier and TypeMethodDescriptionbyte[]Retrieves the control's ASN.1 BER encoded value.getID()Retrieves the control's object identifier string.booleanDetermines the control's criticality.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Field Details
-
OID
The server-side sort response control's assigned object identifier is 1.2.840.113556.1.4.474.- See Also:
-
-
Constructor Details
-
SortResponseControl
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.
-
-
Method Details
-
isSorted
public boolean isSorted()Determines if the search results have been successfully sorted. If an error occurred during sorting a NamingException is thrown.- Returns:
- true if the search results have been sorted.
-
getResultCode
public int getResultCode()Retrieves the LDAP result code of the sort operation.- Returns:
- The result code. A zero value indicates success.
-
getAttributeID
Retrieves the ID of the attribute that caused the sort to fail. Returns null if no ID was returned by the server.- Returns:
- The possibly null ID of the bad attribute.
-
getException
Retrieves the NamingException appropriate for the result code.- Returns:
- A NamingException or null if the result code indicates success.
-