Module java.naming

Class SearchControls

java.lang.Object
javax.naming.directory.SearchControls
所有已实现的接口:
Serializable

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

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

自:
1.3
另请参阅:
  • Field Details

    • OBJECT_SCOPE

      public static final int OBJECT_SCOPE
      搜索指定的对象。

      使用OBJECT_SCOPE进行search()的NamingEnumeration将包含一个或零个元素。如果命名对象满足search()中指定的搜索过滤器,则枚举将包含一个元素。该元素的名称将为空字符串,因为NamingEnumeration中元素的名称是相对于目标上下文的--在本例中,目标上下文是命名对象。如果命名对象不满足search()中指定的搜索过滤器,则不包含任何元素。

      此常量的值为0

      另请参阅:
    • ONELEVEL_SCOPE

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

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

      此常量的值为1

      另请参阅:
    • SUBTREE_SCOPE

      public static final int SUBTREE_SCOPE
      搜索以指定对象为根的整个子树。

      如果指定对象不是DirContext,则仅搜索该对象。如果指定对象是DirContext,则搜索以指定对象为根的整个子树,包括指定对象本身。

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

      使用SUBTREE_SCOPE进行search()的NamingEnumeration包含满足search()中指定的搜索过滤器的子树(包括命名上下文)中的对象。NamingEnumeration中元素的名称要么是相对于命名上下文的,要么是URL字符串。如果命名上下文满足搜索过滤器,则将其包含在枚举中,其名称为空字符串。

      此常量的值为2

      另请参阅:
  • Constructor Details

    • 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。
      countlim - 要返回的最大条目数。如果为0,则返回满足过滤器的所有条目。
      timelim - 返回之前等待的毫秒数。如果为0,则无限等待。
      attrs - 与条目一起返回的属性的标识符。如果为null,则返回所有属性。如果为空,则不返回任何属性。
      retobj - 如果为true,则返回绑定到条目名称的对象;如果为false,则不返回对象。
      deref - 如果为true,则在搜索期间解除引用链接。
  • Method Details

    • getSearchScope

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

      其中之一为OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE。

      返回:
      此SearchControls的搜索范围。
      另请参阅:
    • getTimeLimit

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

      如果值为0,则表示无限等待。

      返回:
      这些SearchControls的时间限制(以毫秒为单位)。
      另请参阅:
    • getDerefLinkFlag

      public boolean getDerefLinkFlag()
      确定搜索期间是否会解除引用链接。
      返回:
      如果将解除引用链接,则为true;否则为false。
      另请参阅:
    • getReturningObjFlag

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

      public long getCountLimit()
      检索将作为搜索结果返回的最大条目数。

      0表示将返回所有条目。

      返回:
      将返回的最大条目数。
      另请参阅:
    • getReturningAttributes

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

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

      返回:
      标识将返回的属性的属性ID数组。可以为null。
      另请参阅:
    • setSearchScope

      public void setSearchScope(int scope)
      将搜索范围设置为OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE之一。
      参数:
      scope - 此SearchControls的搜索范围。
      另请参阅:
    • setTimeLimit

      public void setTimeLimit(int ms)
      将这些SearchControls的时间限制设置为毫秒。

      如果值为0,则表示无限等待。

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

      public void setDerefLinkFlag(boolean on)
      启用/禁用搜索期间的链接解除引用。
      参数:
      on - 如果为true,则将解除引用链接;如果为false,则不跟踪。
      另请参阅:
    • setReturningObjFlag

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

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

      参数:
      on - 如果为true,则将返回对象;如果为false,则不返回对象。
      另请参阅:
    • setCountLimit

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

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

      参数:
      limit - 将返回的最大条目数。
      另请参阅:
    • setReturningAttributes

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

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

      参数:
      attrs - 一个属性ID数组,标识将返回的属性。可以为null。
      另请参阅: