javax.naming.directory

接口
异常
java.lang.Object
  继承者 javax.naming.directory.SearchControls
所有已实现的接口:
Serializable

public class SearchControls
     
extends Object
implements Serializable

此类封装确定搜索范围和搜索返回结果的因子。

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

从以下版本开始:
1.3
另请参见:
序列化表格

字段摘要
static int OBJECT_SCOPE
          搜索命名的对象。
static int ONELEVEL_SCOPE
          搜索一级命名对象。
static int SUBTREE_SCOPE
          搜索以命名对象为根的整个子树。
 
构造方法摘要
SearchControls()
          使用默认值构造搜索约束。
SearchControls(int scope, long countlim, int timelim, String[] attrs, boolean retobj, boolean deref)
          使用参数构造搜索约束。
 
方法摘要
 long getCountLimit()
          检索将作为搜索结果返回的最大项数。
 boolean getDerefLinkFlag()
          确定在搜索期间是否将取消对链接的引用。
 String[] getReturningAttributes()
          检索将作为搜索的一部分返回的属性。
 boolean getReturningObjFlag()
          确定对象是否将作为结果的一部分返回。
 int getSearchScope()
          检索这些 SearchControls 的搜索范围。
 int getTimeLimit()
          检索这些 SearchControls 以毫秒为单位的时间限制。
 void setCountLimit(long limit)
          设置要作为搜索结果返回的最大项数。
 void setDerefLinkFlag(boolean on)
          启用/禁用在搜索期间取消对链接的引用。
 void setReturningAttributes(String[] attrs)
          指定将作为搜索的一部分返回的属性。
 void setReturningObjFlag(boolean on)
          启用/禁用作为结果的一部分返回所返回对象。
 void setSearchScope(int scope)
          将搜索范围设置为以下值之一:OBJECT_SCOPE、ONELEVEL_SCOPE 和 SUBTREE_SCOPE。
 void setTimeLimit(int ms)
          设置这些 SearchControls 以毫秒为单位的时间限制。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

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

另请参见:
常量字段值
构造方法详细信息

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 之一。

返回:
此 SearchControls 的搜索范围。
另请参见:
setSearchScope(int)

getTimeLimit

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

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

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

getDerefLinkFlag

public boolean getDerefLinkFlag()
确定在搜索期间是否将取消对链接的引用。

返回:
如果将取消对链接的引用,则返回 true;否则返回 false。
另请参见:
setDerefLinkFlag(boolean)

getReturningObjFlag

public boolean getReturningObjFlag()
确定对象是否将作为结果的一部分返回。

返回:
如果返回对象,则返回 true;否则返回 false。
另请参见:
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 - 此 SearchControls 的搜索范围。
另请参见:
getSearchScope()

setTimeLimit

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

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

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

setDerefLinkFlag

public void setDerefLinkFlag(boolean on)
启用/禁用在搜索期间取消对链接的引用。

参数:
on - 如果为 true,则取消对链接的引用;如果为 false,则不取消。
另请参见:
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()