Module java.naming

Class SortResponseControl

java.lang.Object
javax.naming.ldap.BasicControl
javax.naming.ldap.SortResponseControl
所有已实现的接口:
Serializable, Control

public final class SortResponseControl extends BasicControl
指示请求的搜索结果排序是否成功。当结果代码指示成功时,结果已按请求排序。否则,排序失败,并且服务器可能提供有关错误原因的附加详细信息。

代码示例中展示了如何使用这个类。

该类实现了在RFC 2891中定义的用于服务器端排序的LDAPv3响应控件。控件的值具有以下ASN.1定义:

     SortResult ::= SEQUENCE {
        sortResult  ENUMERATED {
            success                   (0), -- 结果已排序
            operationsError           (1), -- 服务器内部故障
            timeLimitExceeded         (3), -- 在排序完成之前达到时间限制
            strongAuthRequired        (8), -- 拒绝通过不安全协议返回排序结果
            adminLimitExceeded       (11), -- 服务器匹配条目过多,无法排序
            noSuchAttribute          (16), -- 排序键中的属性类型无法识别
            inappropriateMatching    (18), -- 排序键中的匹配规则无法识别或不适用
            insufficientAccessRights (50), -- 拒绝向此客户端返回排序结果
            busy                     (51), -- 处理过于繁忙
            unwillingToPerform       (53), -- 无法排序
            other                    (80)
            },
      attributeType [0] AttributeType OPTIONAL }

 
自 JDK 版本:
1.5
参见:
  • Field Details

    • OID

      public static final String OID
      服务器端排序响应控件的分配对象标识符为 1.2.840.113556.1.4.474。
      参见:
  • Constructor Details

    • SortResponseControl

      public SortResponseControl(String id, boolean criticality, byte[] value) throws IOException
      构造一个控件以指示排序请求的结果。
      参数:
      id - 控件的对象标识符字符串。
      criticality - 控件的关键性。
      value - 控件的 ASN.1 BER 编码值。它不会被克隆 - 对值的任何更改都会影响控件的内容。
      抛出:
      IOException - 如果在解码控件的值时遇到错误。
  • Method Details

    • isSorted

      public boolean isSorted()
      确定搜索结果是否已成功排序。如果在排序过程中发生错误,将抛出 NamingException。
      返回:
      如果搜索结果已排序,则为 true。
    • getResultCode

      public int getResultCode()
      检索排序操作的 LDAP 结果代码。
      返回:
      结果代码。零值表示成功。
    • getAttributeID

      public String getAttributeID()
      检索导致排序失败的属性的 ID。如果服务器未返回任何 ID,则返回 null。
      返回:
      错误属性的可能为 null 的 ID。
    • getException

      public NamingException getException()
      检索适用于结果代码的 NamingException。
      返回:
      一个 NamingException,如果结果代码表示成功,则返回 null。