public class InitialDirContext extends InitialContext implements DirContext
InitialContext
defaultInitCtx, gotDefault, myProps
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES
Modifier | Constructor and Description |
---|---|
|
InitialDirContext()
构造一个初始DirContext。
|
protected |
InitialDirContext(boolean lazy)
构造一个不初始化它的期权初始DirContext。
|
|
InitialDirContext(Hashtable<?,?> environment)
使用提供的环境构建初始DirContext。
|
Modifier and Type | Method and Description |
---|---|
void |
bind(Name name, Object obj, Attributes attrs)
将一个名称绑定到一个对象,以及关联的属性。
|
void |
bind(String name, Object obj, Attributes attrs)
将一个名称绑定到一个对象,以及关联的属性。
|
DirContext |
createSubcontext(Name name, Attributes attrs)
创建和绑定一个新的上下文,以及相关的属性。
|
DirContext |
createSubcontext(String name, Attributes attrs)
创建和绑定一个新的上下文,以及相关的属性。
|
Attributes |
getAttributes(Name name)
检索与命名对象关联的所有属性。
|
Attributes |
getAttributes(Name name, String[] attrIds)
检索与指定对象关联的选定属性。
|
Attributes |
getAttributes(String name)
检索与命名对象关联的所有属性。
|
Attributes |
getAttributes(String name, String[] attrIds)
检索与指定对象关联的选定属性。
|
DirContext |
getSchema(Name name)
检索与命名对象关联的模式。
|
DirContext |
getSchema(String name)
检索与命名对象关联的模式。
|
DirContext |
getSchemaClassDefinition(Name name)
检索包含已命名对象类定义的架构对象的上下文。
|
DirContext |
getSchemaClassDefinition(String name)
检索包含已命名对象类定义的架构对象的上下文。
|
void |
modifyAttributes(Name name, int mod_op, Attributes attrs)
修改与命名对象关联的属性。
|
void |
modifyAttributes(Name name, ModificationItem[] mods)
使用一个修改的有序列表修改与命名对象关联的属性。
|
void |
modifyAttributes(String name, int mod_op, Attributes attrs)
修改与命名对象关联的属性。
|
void |
modifyAttributes(String name, ModificationItem[] mods)
使用一个修改的有序列表修改与命名对象关联的属性。
|
void |
rebind(Name name, Object obj, Attributes attrs)
绑定一个名字对象,以及相关的属性,覆盖任何现有的结合。
|
void |
rebind(String name, Object obj, Attributes attrs)
绑定一个名字对象,以及相关的属性,覆盖任何现有的结合。
|
NamingEnumeration<SearchResult> |
search(Name name, Attributes matchingAttributes)
在包含指定的属性集的对象的单个上下文中搜索。
|
NamingEnumeration<SearchResult> |
search(Name name, Attributes matchingAttributes, String[] attributesToReturn)
在包含指定的属性集的对象的单个上下文中搜索,并检索选定的属性。
|
NamingEnumeration<SearchResult> |
search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons)
在满足给定搜索筛选器的条目的指定的上下文或对象中搜索。
|
NamingEnumeration<SearchResult> |
search(Name name, String filter, SearchControls cons)
在满足给定搜索筛选器的条目的指定的上下文或对象中搜索。
|
NamingEnumeration<SearchResult> |
search(String name, Attributes matchingAttributes)
在包含指定的属性集的对象的单个上下文中搜索。
|
NamingEnumeration<SearchResult> |
search(String name, Attributes matchingAttributes, String[] attributesToReturn)
在包含指定的属性集的对象的单个上下文中搜索,并检索选定的属性。
|
NamingEnumeration<SearchResult> |
search(String name, String filterExpr, Object[] filterArgs, SearchControls cons)
在满足给定搜索筛选器的条目的指定的上下文或对象中搜索。
|
NamingEnumeration<SearchResult> |
search(String name, String filter, SearchControls cons)
在满足给定搜索筛选器的条目的指定的上下文或对象中搜索。
|
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, doLookup, doLookup, getDefaultInitCtx, getEnvironment, getNameInNamespace, getNameParser, getNameParser, getURLOrDefaultInitCtx, getURLOrDefaultInitCtx, init, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
protected InitialDirContext(boolean lazy) throws NamingException
lazy
-真的意味着没有初始化初始DirContext;假相当于调用
new InitialDirContext()
NamingException
-如果遇到一个命名的例外
InitialContext.init(Hashtable)
public InitialDirContext() throws NamingException
NamingException
-如果遇到一个命名的例外
InitialDirContext(Hashtable)
public InitialDirContext(Hashtable<?,?> environment) throws NamingException
此构造函数将不会修改environment或保存参考,但可以节省一个克隆。人不应该修改的键和值在environment在它被传递给构造函数。
environment
环境用于创建初始DirContext。空表示一个空的环境。
NamingException
-如果遇到一个命名的例外
public Attributes getAttributes(String name) throws NamingException
DirContext
DirContext.getAttributes(Name)
详情。
getAttributes
接口
DirContext
name
-从哪个对象的名称来获取属性
name
属性集
NamingException
-如果遇到一个命名的例外
public Attributes getAttributes(String name, String[] attrIds) throws NamingException
DirContext
DirContext.getAttributes(Name, String[])
详情。
getAttributes
接口
DirContext
name
-从哪个对象的名称来获取属性
attrIds
-属性来检索标识符。表示所有的属性都应该被检索;一个空的数组表示不应该被检索。
NamingException
-如果遇到一个命名的例外
public Attributes getAttributes(Name name) throws NamingException
DirContext
getAttributes
接口
DirContext
name
-从哪个对象的名称来获取属性
name
属性集,返回一个空属性集,如果名字没有属性;不空。
NamingException
-如果遇到一个命名的例外
DirContext.getAttributes(String)
,
DirContext.getAttributes(Name, String[])
public Attributes getAttributes(Name name, String[] attrIds) throws NamingException
DirContext
如果对象没有指定的属性,目录将忽略不存在的属性,并返回所请求的属性的属性,该属性。
目录可能返回比要求的更多的属性(见类的描述属性类型名称),但不允许返回任意的,不相关的属性。
又见操作属性在类的描述。
getAttributes
接口
DirContext
name
-检索属性,该对象的名称
attrIds
-属性来检索标识符。表示所有的属性都应该被检索;一个空的数组表示不应该被检索。
NamingException
-如果遇到一个命名的例外
public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException
DirContext
DirContext.modifyAttributes(Name, int, Attributes)
详情。
modifyAttributes
接口
DirContext
name
-其属性将被更新的对象的名称
mod_op
-修改的操作,其中:
ADD_ATTRIBUTE
,
REPLACE_ATTRIBUTE
,
REMOVE_ATTRIBUTE
。
attrs
-可修改的属性;不得空
AttributeModificationException
如果修改不能成功完成
NamingException
-如果遇到一个命名的例外
public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException
DirContext
modifyAttributes
接口
DirContext
name
-其属性将被更新的对象的名称
mod_op
-修改的操作,其中:
ADD_ATTRIBUTE
,
REPLACE_ATTRIBUTE
,
REMOVE_ATTRIBUTE
。
attrs
-可修改的属性;不得空
AttributeModificationException
如果修改不能成功完成
NamingException
-如果遇到一个命名的例外
DirContext.modifyAttributes(Name, ModificationItem[])
public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException
DirContext
DirContext.modifyAttributes(Name, ModificationItem[])
详情。
modifyAttributes
接口
DirContext
name
-其属性将被更新的对象的名称
mods
-修改一个顺序进行;不得空
AttributeModificationException
如果修改不能顺利完成
NamingException
-如果遇到一个命名的例外
public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException
DirContext
modifyAttributes
接口
DirContext
name
-其属性将被更新的对象的名称
mods
-修改一个顺序进行;不得空
AttributeModificationException
如果修改不能顺利完成
NamingException
-如果遇到一个命名的例外
DirContext.modifyAttributes(Name, int, Attributes)
,
ModificationItem
public void bind(String name, Object obj, Attributes attrs) throws NamingException
DirContext
DirContext.bind(Name, Object, Attributes)
详情。
bind
接口
DirContext
name
-绑定的名称;不能为空
obj
-绑定的对象可能是空的;
attrs
-结合关联的属性
NameAlreadyBoundException
如果名字已绑定
InvalidAttributesException
如果一些”的强制性约束”属性不提供
NamingException
-如果遇到一个命名的例外
public void bind(Name name, Object obj, Attributes attrs) throws NamingException
DirContext
bind
接口
DirContext
name
-绑定的名称;不能为空
obj
-绑定的对象可能是空的;
attrs
-结合关联的属性
NameAlreadyBoundException
如果名字已绑定
InvalidAttributesException
如果一些”的强制性约束”属性不提供
NamingException
-如果遇到一个命名的例外
Context.bind(Name, Object)
,
DirContext.rebind(Name, Object, Attributes)
public void rebind(String name, Object obj, Attributes attrs) throws NamingException
DirContext
DirContext.rebind(Name, Object, Attributes)
详情。
rebind
接口
DirContext
name
-绑定的名称;不能为空
obj
-绑定的对象可能是空的;
attrs
-结合关联的属性
InvalidAttributesException
如果一些”的强制性约束”属性不提供
NamingException
-如果遇到一个命名的例外
public void rebind(Name name, Object obj, Attributes attrs) throws NamingException
DirContext
rebind
接口
DirContext
name
-绑定的名称;不能为空
obj
-绑定的对象可能是空的;
attrs
-结合关联的属性
InvalidAttributesException
如果一些”的强制性约束”属性不提供
NamingException
-如果遇到一个命名的例外
Context.bind(Name, Object)
,
DirContext.bind(Name, Object, Attributes)
public DirContext createSubcontext(String name, Attributes attrs) throws NamingException
DirContext
DirContext.createSubcontext(Name, Attributes)
详情。
createSubcontext
接口
DirContext
name
-创建上下文的名称不能为空;
attrs
-与新创建的上下文关联的属性
NameAlreadyBoundException
-名称是否已绑定
InvalidAttributesException
-如果
attrs
不包含所有必需的属性所需的创作
NamingException
-如果遇到一个命名的例外
public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException
DirContext
createSubcontext
接口
DirContext
name
-创建上下文的名称不能为空;
attrs
-与新创建的上下文关联的属性
NameAlreadyBoundException
-名称是否已绑定
InvalidAttributesException
-如果
attrs
不包含所有必需的属性所需的创作
NamingException
-如果遇到一个命名的例外
Context.createSubcontext(Name)
public DirContext getSchema(String name) throws NamingException
DirContext
DirContext.getSchema(Name)
详情。
getSchema
接口
DirContext
name
-其架构是要检索该对象的名称
OperationNotSupportedException
如果模式不支持
NamingException
-如果遇到一个命名的例外
public DirContext getSchema(Name name) throws NamingException
DirContext
此方法返回适用于已命名对象的架构信息树的根。几个命名的对象(甚至整个目录)可能共享相同的模式。
模式树的结构和内容、权限修改架构树的内容的问题,以及这些修改对目录的影响都依赖于基础目录。
getSchema
接口
DirContext
name
-其架构是要检索该对象的名称
OperationNotSupportedException
如果模式不支持
NamingException
-如果遇到一个命名的例外
public DirContext getSchemaClassDefinition(String name) throws NamingException
DirContext
DirContext.getSchemaClassDefinition(Name)
详情。
getSchemaClassDefinition
接口
DirContext
name
-其对象类的定义是要检索该对象的名称
OperationNotSupportedException
如果模式不支持
NamingException
-如果遇到一个命名的例外
public DirContext getSchemaClassDefinition(Name name) throws NamingException
DirContext
目录架构中的一类信息是类定义。一个“对象类”定义指定对象的类型和属性(强制的和可选的)对象必须/可以有。注意,术语“对象”在这里所指的是在目录上而不是在java的感觉。例如,如果指定的对象是“人”类的目录对象,getSchemaClassDefinition()将返回一个DirContext代表(目录)对象类定义的“人”。
可以从一个对象类定义中检索的信息是依赖于目录的。
对于JNDI 1.2之前,这个方法返回一个对象代表命名对象的类定义。由于JNDI 1.2,此方法返回一个包含所有DirContext命名对象的类定义。
getSchemaClassDefinition
接口
DirContext
name
-其对象类的定义是要检索该对象的名称
OperationNotSupportedException
如果模式不支持
NamingException
-如果遇到一个命名的例外
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException
DirContext
DirContext.search(Name, Attributes)
详情。
search
接口
DirContext
name
-上下文名称搜索
matchingAttributes
-搜索属性
NamingException
-如果遇到一个命名的例外
public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes) throws NamingException
DirContext
search(Name, Attributes, String[])
atributesToReturn。
DirContext.search(Name, Attributes, String[])
。
search
接口
DirContext
name
-搜索上下文名称
matchingAttributes
-搜索属性
NamingException
-如果遇到一个命名的例外
DirContext.search(Name, Attributes, String[])
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContext
DirContext.search(Name, Attributes, String[])
详情。
search
接口
DirContext
name
-上下文名称搜索
matchingAttributes
-搜索属性
attributesToReturn
-返回的属性
NamingException
-如果遇到一个命名的例外
public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContext
SearchControls
。
一个对象被选中,在matchingAttributes
每个属性的对象的某些属性匹配。如果matchingAttributes
为空或null,返回在目的语境中的所有对象。
在matchingAttributes
属性a一被认为与一个对象的属性a二如果a一和a二具有相同的标识符,和a一每个值等于某值a二。这意味着价值观的顺序是不重要的,这a二可能包含“额外”值没有发现a一不影响的比较。这也意味着,如果a一没有值,然后进行匹配测试具有相同标识符的属性a二的存在相当于测试。
比较属性值的“平等”的精确定义是由基础目录服务定义的。它可以使用Object.equals
方法,例如,或可以用一个模式来指定一个不同的等式运算。基于非平等操作匹配(如字符串比较)使用的方法,以search
过滤器的参数的版本。
当改变了这DirContext,在返回之前调用此方法的效果是未定义的枚举。
如果对象没有指定的属性,目录将忽略不存在的属性,并返回对象所拥有的请求的属性。
目录可能返回比要求的更多的属性(见类的描述属性类型名称),但不允许返回任意的,不相关的属性。
又见操作属性在类的描述。
search
接口
DirContext
name
-上下文名称搜索
matchingAttributes
-搜索属性。如果为空或空,则返回目标上下文中的所有对象。
attributesToReturn
-返回的属性。表示要返回的所有属性;一个空数组表示没有要返回的数组。
attributesToReturn
和相应对象的名称标识的属性,命名为相对于上下文被
name
。
NamingException
-如果遇到一个命名的例外
SearchControls
,
SearchResult
,
DirContext.search(Name, String, Object[], SearchControls)
public NamingEnumeration<SearchResult> search(String name, String filter, SearchControls cons) throws NamingException
DirContext
DirContext.search(Name, String, SearchControls)
详情。
search
接口
DirContext
name
的情境或对象的名称来搜索
filter
-过滤表达式用于搜索;不得空
cons
-搜索控件,控制搜索。如果为空,则使用默认的搜索控制(相当于
(new SearchControls()))。
InvalidSearchFilterException
-如果指定的搜索筛选器不支持或理解的基础目录
InvalidSearchControlsException
-如果搜索控件包含无效的设置
NamingException
-如果遇到一个命名的例外
public NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons) throws NamingException
DirContext
对filter
格式和解释遵循RFC 2254下列在RFC提到attr
和value
解释。
attr
是属性的标识符。
value
是字符串表示属性的值。将此字符串表示形式的转换到属性的值是特定于目录的。
对于主张“somecount = 127”,例如,attr
是“somecount”和“127”value
。供应商确定,基于属性ID(“somecount”)(和可能的模式),这个属性的值是一个整数。然后将字符串“127”适当。
在筛选器字符串的任何非ASCII字符必须由java合适的代表(Unicode)的人物,而不是UTF-8编码的字节。另外,“反斜线符号hexcode“RFC 2254中可以使用。
如果目录不支持其部分或全部属性的字符串表示,对search
接受对象的形式滤波器的参数可以用来代替形式。这样一个目录的服务提供程序将将筛选器参数转换为其服务的具体表示形式,用于筛选评价。看到search(Name, String, Object[], SearchControls)
。
RFC 2254定义的过滤某些运营商,包括匹配的子字符串,平等,近似匹配,大于,小于。这些运算符映射到相应的语义的基础目录中的运营商。例如,对于等于运算符,假设目录有一个在过滤器中定义属性的“相等”的匹配规则。此规则将用于检查在目录中的对象的属性指定的属性中指定的属性的平等性。同样地,如果目录有一个排序的匹配规则,这个规则将被用于使“大于”和“小于”比较。
不是所有在RFC 2254中定义的算子是适用于所有属性。当一个运算符是不适用的,InvalidSearchFilterException
抛出异常。
结果是在SearchResults枚举返回。每个SearchResult包含有关对象的对象名称等信息(见SearchResult)。这个名字是相对于搜索目标上下文(由name
参数命名),或是一个URL字符串。如果目标上下文是包含在计数(如有可能时,cons
指定一SearchControls.OBJECT_SCOPE
或SearchControls.SUBSTREE_SCOPE
搜索范围),它的名字是空字符串。的SearchResult也如果指定属性返回包含cons参数的匹配对象属性。
如果对象没有被请求的属性,则不存在属性将被忽略。请求的属性将被返回的属性。
一个目录可以返回更多的属性要求(见类的描述属性类型名称)但不允许返回任意的,不相关的属性。
又见操作属性在类的描述。
search
接口
DirContext
name
的情境或对象的名称来搜索
filter
-过滤表达式用于搜索;不得空
cons
-搜索控件,控制搜索。如果为空,则使用默认的搜索控制(相当于
(new SearchControls()))。
InvalidSearchFilterException
-如果指定的搜索筛选器不支持或理解的基础目录
InvalidSearchControlsException
-如果搜索控件包含无效的设置
NamingException
-如果遇到一个命名的例外
DirContext.search(Name, String, Object[], SearchControls)
,
SearchControls
,
SearchResult
public NamingEnumeration<SearchResult> search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException
DirContext
DirContext.search(Name, String, Object[], SearchControls)
详情。
search
接口
DirContext
name
的情境或对象的名称来搜索
filterExpr
-过滤表达式用于搜索。表达可能包含的形式“
{i}
”,
i
是一个非负整数变量。可能不为空。
filterArgs
-参数代替
filterExpr
变量数组。对
filterArgs[i]
值将替换发生“
{i}
”。如果为空,则相当于一个空数组。
cons
-搜索控件,控制搜索。如果为空,则使用默认的搜索控制(相当于
(new SearchControls()))。
InvalidSearchControlsException
-如果
cons包含无效的设置
InvalidSearchFilterException
-如果
filterExpr与
filterArgs代表一个无效的搜索过滤器
NamingException
-如果遇到一个命名的例外
public NamingEnumeration<SearchResult> search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException
DirContext
filterExpr
的解释是基于RFC 2254。它还可以包含变量的形式{i}
-- i
是一个整数,是指在filterArgs
数组对象。filterExpr
的解释是,该方法search(Name, String, SearchControls)
的filter
参数相同。
当一个变量{i}
出现在搜索过滤器,它表明滤波器的参数filterArgs[i]
是用在那个地方。这样的变量可以用于任何一个属性,价值,或matchingrule生产出现在RFC 2254过滤语法,4节。当一个字符串值滤波器参数替代变量,过滤器被解释为如果字符串是在变量的地方,与任何字符在滤波器的特殊意义(如'*'
)已经逃脱,根据RFC 2254规定。
对于不使用某些或它们的属性的字符串表示的目录的目录,对应于属性值的筛选器参数可能是一个类型的字符串以外的其他类型的。支持支持非结构化二进制值属性的目录,例如,应该接受字节数组作为筛选器参数。任何其他类型的筛选器参数的解释(如果有的话)是由该目录的服务提供程序确定的,该目录将过滤操作映射到基础目录中的相应语义操作上。
此方法返回一个结果的枚举。枚举中的每个元素包含有关对象的对象名称等信息(见SearchResult
)。这个名字是相对于搜索目标上下文(由name
参数命名),或是一个URL字符串。如果目标上下文是包含在计数(如有可能时,cons
指定一SearchControls.OBJECT_SCOPE
或SearchControls.SUBSTREE_SCOPE
搜索范围),它的名字是空字符串。
的SearchResult也如果cons参数指定属性返回包含匹配对象属性。
如果对象没有被请求的属性,则不存在属性将被忽略。请求的属性将被返回的属性。
一个目录可以返回更多的属性要求(见类的描述属性类型名称)但不允许返回任意的,不相关的属性。
如果提供了一个带有无效变量替换的搜索筛选器,则该方法的结果是不确定的。进行更改时,这对像中,在返回之前调用此方法的效果是未定义的枚举。
又见操作属性在类的描述。
search
接口
DirContext
name
的情境或对象的名称来搜索
filterExpr
-过滤表达式用于搜索。表达可能包含的形式“
{i}
”,
i
是一个非负整数变量。可能不为空。
filterArgs
-参数代替
filterExpr
变量数组。对
filterArgs[i]
值将替换发生“
{i}
”。如果为空,则相当于一个空数组。
cons
-搜索控件,控制搜索。如果为空,则使用默认的搜索控制(相当于
(new SearchControls()))。
InvalidSearchControlsException
-如果
cons包含无效的设置
InvalidSearchFilterException
-如果
filterExpr与
filterArgs代表一个无效的搜索过滤器
NamingException
-如果遇到一个命名的例外
DirContext.search(Name, Attributes, String[])
,
MessageFormat
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.