Module  java.naming

Class SearchControls

  • All Implemented Interfaces:
    Serializable


    public class SearchControls
    extends Object
    implements Serializable
    该类封装了确定搜索范围和搜索结果返回的因素。

    SearchControls实例与并发多线程访问不同步。 尝试访问和修改单个SearchControls实例的多个线程应锁定该对象。

    从以下版本开始:
    1.3
    另请参见:
    Serialized Form
    • 字段详细信息

      • OBJECT_SCOPE

        public static final int OBJECT_SCOPE
        搜索命名对象。

        使用OBJECT_SCOPE的search()结果的NamingEnumeration将包含一个或零个元素。 如果命名对象满足search()中指定的搜索过滤器,则枚举包含一个元素。 元素的名称为空字符串,因为NamingEnumeration中的元素的名称与目标上下文相关 - 在这种情况下,目标上下文是命名对象。 如果命名对象不符合search()中指定的搜索过滤器,则它包含零个元素。

        该常数的值为0

        另请参见:
        Constant Field Values
      • ONELEVEL_SCOPE

        public static final int ONELEVEL_SCOPE
        搜索一级命名上下文。

        使用ONELEVEL_SCOPE由search()生成的NamingEnumeration包含在命名上下文中具有满足search()中指定的搜索过滤器的对象的元素。 NamingEnumeration中元素的名称是相对于命名上下文的原子名称。

        该常数的值为1

        另请参见:
        Constant Field Values
      • SUBTREE_SCOPE

        public static final int SUBTREE_SCOPE
        搜索根据命名对象的整个子树。

        如果命名对象不是DirContext,则只搜索对象。 如果命名对象是DirContext,则搜索根据命名对象的子树,包括命名对象本身。

        搜索不会跨越命名系统边界。

        使用SUBTREE_SCOPE由search()生成的NamingEnumeration包含满足search()中指定的搜索过滤器的子树(包括命名上下文)的对象元素。 NamingEnumeration中的元素的名称或者是相对于指定的上下文,或者是一个URL字符串。 如果命名的上下文满足搜索过滤器,则它将以空字符串的名称作为名称包含在枚举中。

        该常数的值为2

        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • SearchControls

        public SearchControls​()
        使用默认值构造搜索约束。

        默认值为:

        • 搜索一级
        • 没有搜索结果的最大返回限制
        • 没有时间限制搜索
        • 返回与满足搜索过滤器的对象相关联的所有属性。
        • 不返回命名对象(仅返回名称和类)
        • 在搜索过程中不要重新引用链接
      • SearchControls

        public SearchControls​(int scope,
                              long countlim,
                              int timelim,
                              String[] attrs,
                              boolean retobj,
                              boolean deref)
        使用参数构造搜索约束。
        参数
        scope - 搜索范围。 其中之一:OBJECT_SCOPE,ONELEVEL_SCOPE,SUBTREE_SCOPE。
        timelim - 返回前等待的毫秒数。 如果0,无限期地等待。
        deref - 如果为true,则在搜索过程中取消引用链接。
        countlim - 要返回的最大条目数。 如果为0,则返回满足过滤条件的所有条目。
        retobj - 如果为true,则返回绑定到条目名称的对象; 如果是false,不要返回对象。
        attrs - 与条目一起返回的属性的标识符。 如果为null,返回所有属性。 如果空返回没有属性。
    • 方法详细信息

      • getSearchScope

        public int getSearchScope​()
        检索这些SearchControls的搜索范围。

        其中一个OBJECT_SCOPE,ONELEVEL_SCOPE,SUBTREE_SCOPE。

        结果
        这个搜索范围的搜索。
        另请参见:
        setSearchScope(int)
      • getTimeLimit

        public int getTimeLimit​()
        以毫秒为单位检索这些SearchControls的时间限制。

        如果值为0,则意味着无限期地等待。

        结果
        这些SearchControls的时间限制以毫秒为单位。
        另请参见:
        setTimeLimit(int)
      • getDerefLinkFlag

        public boolean getDerefLinkFlag​()
        确定在搜索期间链接是否将被取消引用。
        结果
        如果链接将被取消引用,则为true; 否则为假。
        另请参见:
        setDerefLinkFlag(boolean)
      • getReturningObjFlag

        public boolean getReturningObjFlag​()
        确定对象是否将作为结果的一部分返回。
        结果
        如果对象将被返回,则为true; 否则为假。
        另请参见:
        setReturningObjFlag(boolean)
      • getCountLimit

        public long getCountLimit​()
        检索由搜索结果返回的最大条目数。

        0表示将返回所有条目。

        结果
        将返回的最大条目数。
        另请参见:
        setCountLimit(long)
      • getReturningAttributes

        public String[] getReturningAttributes​()
        检索将作为搜索的一部分返回的属性。

        值为null表示将返回所有属性。 空数组表示不返回任何属性。

        结果
        属性ID的数组,用于标识将要返回的属性。 可以为null。
        另请参见:
        setReturningAttributes(java.lang.String[])
      • setSearchScope

        public void setSearchScope​(int scope)
        将搜索范围设置为以下之一:OBJECT_SCOPE,ONELEVEL_SCOPE,SUBTREE_SCOPE。
        参数
        scope - 此搜索范围的搜索。
        另请参见:
        getSearchScope()
      • setTimeLimit

        public void setTimeLimit​(int ms)
        以毫秒为单位设置这些SearchControl的时间限制。

        如果值为0,则意味着无限期地等待。

        参数
        ms - 这些SearchControls的时间限制,以毫秒为单位。
        另请参见:
        getTimeLimit()
      • setDerefLinkFlag

        public void setDerefLinkFlag​(boolean on)
        在搜索期间启用/禁用链接解除引用。
        参数
        on - 如果真正的链接将被取消引用; 如果假,不遵循。
        另请参见:
        getDerefLinkFlag()
      • setReturningObjFlag

        public void setReturningObjFlag​(boolean on)
        启用/禁用作为结果一部分返回的返回对象。

        如果禁用,则只返回对象的名称和类。 如果启用,将返回该对象。

        参数
        on - 如果为true,则返回对象; 如果为false,则不会返回对象。
        另请参见:
        getReturningObjFlag()
      • setCountLimit

        public void setCountLimit​(long limit)
        设置搜索结果返回的最大条目数。

        0表示无限制:将返回所有条目。

        参数
        limit - 将返回的最大条目数。
        另请参见:
        getCountLimit()
      • setReturningAttributes

        public void setReturningAttributes​(String[] attrs)
        指定将作为搜索的一部分返回的属性。

        null表示将返回所有属性。 空数组表示不返回任何属性。

        参数
        attrs - 标识要返回属性的属性ID数组。 可以为null。
        另请参见:
        getReturningAttributes()