java.lang.Object javax.naming.directory.SearchControls
public class SearchControls
此类封装确定搜索范围和搜索返回结果的因子。
SearchControls 实例与并发多线程访问不同步。试图访问和修改单个 SearchControls 实例的多个线程应该锁定对象。
字段摘要 | |
---|---|
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 |
字段详细信息 |
---|
public static final int OBJECT_SCOPE
从使用 OBJECT_SCOPE 的 search() 中得到的 NamingEnumeration 将包含一个或零个元素。如果命名的对象符合 search() 中指定的搜索过滤器,则枚举包含一个元素。元素中的名称将是一个空字符串,因为 NamingEnumeration 中的元素名称是相对于目标上下文的,在此情况下,目标上下文就是命名的对象。如果命名对象不符合 search() 中指定的搜索过滤器,则其包含零个元素。
此常量的值为 0。
public static final int ONELEVEL_SCOPE
从使用 ONELEVEL_SCOPE 的 search() 中得到的 NamingEnumeration 包含的元素是命名上下文中的对象,这些对象符合 search() 中指定的搜索过滤器。NamingEnumeration 中的元素名称是相对于命名上下文的原子名称。
此常量的值为 1。
public static final int SUBTREE_SCOPE
如果命名对象不是 DirContext,则仅搜索该对象。如果命名对象不是 DirContext,则搜索以命名对象为根的子树,包括命名对象本身。
搜索将不超出命名系统的界限。
从使用 SUBTREE_SCOPE 的 search() 中得到的 NamingEnumeration 包含的元素是子树(包括命名上下文)中的对象,这些对象符合 search() 中指定的搜索过滤器的。NamingEnumeration 中的元素名称或者相对于命名上下文或者为 URL 字符串。如果命名上下文符合搜索过滤器,则它包含在以空字符串作为其名称的枚举中。
此常量的值为 2。
构造方法详细信息 |
---|
public 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,则返回所有属性。如果为空,则不返回任何属性。
方法详细信息 |
---|
public int getSearchScope()
OBJECT_SCOPE、ONELEVEL_SCOPE 或 SUBTREE_SCOPE 之一。
setSearchScope(int)
public int getTimeLimit()
如果值为 0,则其意味着无限期地等待。
setTimeLimit(int)
public boolean getDerefLinkFlag()
setDerefLinkFlag(boolean)
public boolean getReturningObjFlag()
setReturningObjFlag(boolean)
public long getCountLimit()
0 指示将返回所有项。
setCountLimit(long)
public String[] getReturningAttributes()
值 null 指示将返回所有属性。空数组指示不返回任何属性。
setReturningAttributes(java.lang.String[])
public void setSearchScope(int scope)
scope
- 此 SearchControls 的搜索范围。
getSearchScope()
public void setTimeLimit(int ms)
如果值为 0,则其意味着无限期地等待。
ms
- 这些 SearchControls 以毫秒为单位的时间限制。
getTimeLimit()
public void setDerefLinkFlag(boolean on)
on
- 如果为 true,则取消对链接的引用;如果为 false,则不取消。
getDerefLinkFlag()
public void setReturningObjFlag(boolean on)
如果禁用,则仅返回对象的名称和类。如果启用,则返回对象。
on
- 如果为 true,则返回对象;如果为 false,则不返回对象。
getReturningObjFlag()
public void setCountLimit(long limit)
0 指示没有任何限制:将返回所有项。
limit
- 将返回的最大项数。
getCountLimit()
public void setReturningAttributes(String[] attrs)
null 指示将返回所有属性。空数组指示不返回任何属性。
attrs
- 标识将返回的属性的属性 id 所组成的数组。可以为 null。
getReturningAttributes()