Package com.unboundid.ldap.sdk.controls
Class ServerSideSortResponseControl
- java.lang.Object
-
- com.unboundid.ldap.sdk.Control
-
- com.unboundid.ldap.sdk.controls.ServerSideSortResponseControl
-
- All Implemented Interfaces:
DecodeableControl
,java.io.Serializable
@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class ServerSideSortResponseControl extends Control implements DecodeableControl
This class provides an implementation of the server-side sort response control, as defined in RFC 2891. It may be used to provide information about the result of server-side sort processing. If the corresponding search request included theServerSideSortRequestControl
, then the search result done message may include this response control to provide information about the state of the sorting.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SERVER_SIDE_SORT_RESPONSE_OID
The OID (1.2.840.113556.1.4.474) for the server-side sort response control.
-
Constructor Summary
Constructors Constructor Description ServerSideSortResponseControl(ResultCode resultCode, java.lang.String attributeName)
Creates a new server-side sort response control with the provided information.ServerSideSortResponseControl(ResultCode resultCode, java.lang.String attributeName, boolean isCritical)
Creates a new server-side sort response control with the provided information.ServerSideSortResponseControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new server-side sort response control from the information contained in the provided control.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ServerSideSortResponseControl
decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new instance of this decodeable control from the provided information.static ServerSideSortResponseControl
decodeJSONControl(JSONObject controlObject, boolean strict)
Attempts to decode the provided object as a JSON representation of a server-side sort response control.static ServerSideSortResponseControl
get(SearchResult result)
Extracts a server-side sort response control from the provided result.java.lang.String
getAttributeName()
Retrieves the attribute name for this server-side sort response control, if available.java.lang.String
getControlName()
Retrieves the user-friendly name for this control, if available.ResultCode
getResultCode()
Retrieves the result code for this server-side sort response control.JSONObject
toJSONControl()
Retrieves a representation of this server-side sort response control as a JSON object.void
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided buffer.-
Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
-
-
-
-
Field Detail
-
SERVER_SIDE_SORT_RESPONSE_OID
@NotNull public static final java.lang.String SERVER_SIDE_SORT_RESPONSE_OID
The OID (1.2.840.113556.1.4.474) for the server-side sort response control.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ServerSideSortResponseControl
public ServerSideSortResponseControl(@NotNull ResultCode resultCode, @Nullable java.lang.String attributeName)
Creates a new server-side sort response control with the provided information.- Parameters:
resultCode
- The result code for this server-side sort response.attributeName
- The name of the attribute associated with this result. It may benull
if there is no associated attribute name.
-
ServerSideSortResponseControl
public ServerSideSortResponseControl(@NotNull ResultCode resultCode, @Nullable java.lang.String attributeName, boolean isCritical)
Creates a new server-side sort response control with the provided information.- Parameters:
resultCode
- The result code for this server-side sort response.attributeName
- The name of the attribute associated with this result. It may benull
if there is no associated attribute name.isCritical
- Indicates whether this control should be marked critical. Response controls should generally not be critical.
-
ServerSideSortResponseControl
public ServerSideSortResponseControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
Creates a new server-side sort response control from the information contained in the provided control.- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Throws:
LDAPException
- If a problem occurs while attempting to decode the provided control as a server-side sort response control.
-
-
Method Detail
-
decodeControl
@NotNull public ServerSideSortResponseControl decodeControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
Creates a new instance of this decodeable control from the provided information.- Specified by:
decodeControl
in interfaceDecodeableControl
- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Returns:
- The decoded representation of this control.
- Throws:
LDAPException
- If the provided information cannot be decoded as a valid instance of this decodeable control.
-
get
@Nullable public static ServerSideSortResponseControl get(@NotNull SearchResult result) throws LDAPException
Extracts a server-side sort response control from the provided result.- Parameters:
result
- The result from which to retrieve the server-side sort response control.- Returns:
- The server-side sort response control contained in the provided
result, or
null
if the result did not contain a server-side sort response control. - Throws:
LDAPException
- If a problem is encountered while attempting to decode the server-side sort response control contained in the provided result.
-
getResultCode
@NotNull public ResultCode getResultCode()
Retrieves the result code for this server-side sort response control.- Returns:
- The result code for this server-side sort response control.
-
getAttributeName
@Nullable public java.lang.String getAttributeName()
Retrieves the attribute name for this server-side sort response control, if available.- Returns:
- The attribute name for this server-side sort response control, or
null
if none was provided.
-
getControlName
@NotNull public java.lang.String getControlName()
Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.- Overrides:
getControlName
in classControl
- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
toJSONControl
@NotNull public JSONObject toJSONControl()
Retrieves a representation of this server-side sort response control as a JSON object. The JSON object uses the following fields:-
oid
-- A mandatory string field whose value is the object identifier for this control. For the server-side sort response control, the OID is "1.2.840.113556.1.4.474". -
control-name
-- An optional string field whose value is a human-readable name for this control. This field is only intended for descriptive purposes, and when decoding a control, theoid
field should be used to identify the type of control. -
criticality
-- A mandatory Boolean field used to indicate whether this control is considered critical. -
value-base64
-- An optional string field whose value is a base64-encoded representation of the raw value for this server-side sort response control. Exactly one of thevalue-base64
andvalue-json
fields must be present. -
value-json
-- An optional JSON object field whose value is a user-friendly representation of the value for this server-side sort response control. Exactly one of thevalue-base64
andvalue-json
fields must be present, and if thevalue-json
field is used, then it will use the following fields:-
result-code
-- An integer field whose value is the numeric representation of the result code for the sort processing. -
attribute-name
-- An optional string field whose value is the name of the attribute with which the result code is most closely associated.
-
- Overrides:
toJSONControl
in classControl
- Returns:
- A JSON object that contains a representation of this control.
-
-
decodeJSONControl
@NotNull public static ServerSideSortResponseControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException
Attempts to decode the provided object as a JSON representation of a server-side sort response control.- Parameters:
controlObject
- The JSON object to be decoded. It must not benull
.strict
- Indicates whether to use strict mode when decoding the provided JSON object. If this istrue
, then this method will throw an exception if the provided JSON object contains any unrecognized fields. If this isfalse
, then unrecognized fields will be ignored.- Returns:
- The server=side sort response control that was decoded from the provided JSON object.
- Throws:
LDAPException
- If the provided JSON object cannot be parsed as a valid server-side sort response control.
-
-