public interface LdapContext extends DirContext
有两种类型的请求控制:
除非显式限定,“请求控制”一词是指上下文请求控件。
与环境属性不同的是,上下文实例的请求控件不是由来自它的上下文实例继承的。派生上下文实例有null作为上下文请求控制。你必须设置一个派生上下文实例显式使用setRequestControls()请求控制。
一个上下文实例的要求控制所使用的方法getRequestControls()检索。
类似的环境属性,上下文的连接请求控件是由来自它的上下文继承的。通常,你初始化连接请求的控件使用InitialLdapContext构造函数或LdapReferralContext.getReferralContext()。这些连接请求控件都是由共享相同的连接的上下文继承的,也就是说,上下文来自于初始或转介上下文。
使用reconnect()改变上下文的连接请求的控制。调用ldapContext.reconnect()影响只有ldapContext,来自ldapContext任何新的环境情况下使用的连接。以前同ldapContext连接上下文保持不变。也就是说,上下文的连接请求控件必须显式更改,并且不会受另一个上下文的连接请求控件的更改的影响。
一个上下文实例的连接请求的控件使用方法getConnectControls()检索。
Modifier and Type | Field and Description |
---|---|
static String |
CONTROL_FACTORIES
保持用于指定控件工厂列表的环境属性的名称的常量。
|
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 and Type | Method and Description |
---|---|
ExtendedResponse |
extendedOperation(ExtendedRequest request)
执行扩展操作。
|
Control[] |
getConnectControls()
检索此上下文的效果的连接请求控件。
|
Control[] |
getRequestControls()
检索此上下文的效果的请求控件。
|
Control[] |
getResponseControls()
检索在此上下文中调用的最后一个方法的结果所产生的响应控件。
|
LdapContext |
newInstance(Control[] requestControls)
使用请求控件创建此上下文的一个新实例。
|
void |
reconnect(Control[] connCtls)
重新连接到LDAP服务器使用提供的控件和这方面的环境。
|
void |
setRequestControls(Control[] requestControls)
设置随后在此上下文中调用的方法的请求控件。
|
bind, bind, createSubcontext, createSubcontext, getAttributes, getAttributes, getAttributes, getAttributes, getSchema, getSchema, getSchemaClassDefinition, getSchemaClassDefinition, modifyAttributes, modifyAttributes, modifyAttributes, modifyAttributes, rebind, rebind, search, search, search, search, search, search, search, search
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
static final String CONTROL_FACTORIES
该常数的值是“java。命名。工厂。”。
ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException
request
-非空的请求被执行。
NamingException
-如果在进行扩展操作时发生错误。
LdapContext newInstance(Control[] requestControls) throws NamingException
新的上下文具有相同的环境属性和连接请求控件作为此上下文。查看详细的类描述。实现也可能允许这种情况下,新的上下文来共享相同的网络连接或其他资源,如果这样做不妨碍任何上下文的独立性。
requestControls
-可能的空请求的控件使用的新语境。如果为零,则在没有请求控件的上下文中初始化。
NamingException
-如果在创建新实例时出错。
InitialLdapContext
void reconnect(Control[] connCtls) throws NamingException
该方法是一种显式初始化一个LDAP绑定操作。例如,可以使用此方法为LDAP绑定操作请求的控件,或显式地连接到服务器获得响应的控制由LDAP绑定操作返回。
该方法设置这方面的connCtls是其新的连接请求的控制。此上下文的上下文请求控件不受影响。这种方法被调用后,任何后续的隐式重新将使用connCtls。connCtls也作为连接请求控制新上下文实例来自这个背景。这些连接请求的控制不受setRequestControls()。
服务提供商的用户应该阅读的实现细节的类描述的“服务提供者”部分。
connCtls
-使用可能的空控制。如果为空,则没有使用控件。
NamingException
-如果在连接时发生了一个错误。
getConnectControls()
,
newInstance(javax.naming.ldap.Control[])
Control[] getConnectControls() throws NamingException
NamingException
获取请求控制。
void setRequestControls(Control[] requestControls) throws NamingException
这将删除任何以前的要求控制和增加requestControls用于后续调用的方法在这方面。此方法不影响此上下文的连接请求控制。
注意,requestControls将生效,直到下一个调用setRequestControls()。你需要显式调用setRequestControls()与null或清除控制空数组如果你不想让他们影响到上下文的方法更多。检查此语境效果要求什么是控制,使用getRequestControls()。
requestControls
-使用可能的空控制。如果为空,则没有使用控件。
NamingException
-如果出错而设置的要求控制。
getRequestControls()
Control[] getRequestControls() throws NamingException
NamingException
获取请求控制。
setRequestControls(javax.naming.ldap.Control[])
Control[] getResponseControls() throws NamingException
这些响应控件可能是由一个成功的或失败的操作产生的。
当调用可能返回响应控件的上下文方法时,清除以前的方法调用的响应控件。getResponseControls()返回所有响应控件从LDAP服务器接收LDAP操作的顺序的方法产生的背景。调用getResponseControls()不明确响应控制。您可以调用它多次(并返回相同的控件),直到调用可能返回控件的下一个上下文方法为止。
NamingException
如果发生错误而得到的响应控制。
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.