|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface LdapContext
此介面表示一個上下文,在該上下文中可以利用 LDAPv3 樣式的控制元件執行操作,並且可以執行 LDAPv3 樣式的擴展操作。 對於不需要這些控制元件或擴展操作的應用程序,則應該使用更一般的 javax.naming.directory.DirContext 來代替。
請求控制元件有兩種型別:
如果沒有顯式限定,術語“請求控制元件”就是指上下文請求控制元件。
與環境屬性不同,從某個上下文實例派生的上下文實例不能繼承 它的請求控制元件。派生的上下文實例的上下文請求控制元件為 null。必須使用 setRequestControls() 顯式設置派生的上下文實例的請求控制元件。
上下文實例的請求控制元件需要使用方法 getRequestControls() 進行檢索。
與環境屬性一樣,從上下文派生的上下文可以繼承 它的連接請求控制元件。通常,使用 InitialLdapContext 建構子或 LdapReferralContext.getReferralContext() 來初始化連接請求控制元件。這些連接請求控制元件可以由共享同一連接的上下文繼承,即上下文是從初始或參考上下文派生的。
使用 reconnect() 更改上下文的連接請求控制元件。調用 ldapContext.reconnect() 僅影響 ldapContext 使用的連接和從 ldapContext 派生的所有新上下文實例。以前與 ldapContext 共享連接的上下文保持不變。即上下文的連接請求控制元件必須顯式更改,更改另一個上下文的連接請求控制元件對它沒有影響。
上下文實例的連接請求控制元件需要使用方法 getConnectControls() 進行檢索。
InitialLdapContext
,
LdapReferralException.getReferralContext(java.util.Hashtable,javax.naming.ldap.Control[])
欄位摘要 | |
---|---|
static String |
CONTROL_FACTORIES
該常數保存用來指定要使用的控制元件處理器列表的環境屬性名稱。 |
從介面 javax.naming.directory.DirContext 繼承的欄位 |
---|
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE |
方法摘要 | |
---|---|
ExtendedResponse |
extendedOperation(ExtendedRequest request)
執行擴展操作。 |
Control[] |
getConnectControls()
檢索對此上下文有效的連接請求控制元件。 |
Control[] |
getRequestControls()
檢索對此上下文有效的請求控制元件。 |
Control[] |
getResponseControls()
檢索對此上下文調用的最後一個方法所產生的回應控制元件。 |
LdapContext |
newInstance(Control[] requestControls)
創建此上下文的新實例,使用請求控制元件進行初始化。 |
void |
reconnect(Control[] connCtls)
使用提供的控制元件和此上下文的環境重新連接到 LDAP 伺服器。 |
void |
setRequestControls(Control[] requestControls)
為在此上下文上後續調用的方法設置請求控制元件。 |
從介面 javax.naming.directory.DirContext 繼承的方法 |
---|
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 |
從介面 javax.naming.Context 繼承的方法 |
---|
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.naming.factory.control"。
ControlFactory
,
Context.addToEnvironment(java.lang.String, java.lang.Object)
,
Context.removeFromEnvironment(java.lang.String)
,
常數欄位值方法詳細資訊 |
---|
ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException
request
- 要執行的非 null 請求。
NamingException
- 如果在執行擴展操作時出錯。LdapContext newInstance(Control[] requestControls) throws NamingException
新上下文與此上下文具有相同的環境屬性和連接請求控制元件。有關詳細資訊請參閱類別描述。實作可能還允許此上下文和新上下文共享同一個網路連接或其他資源,如果這樣做不妨礙這兩種上下文各自的獨立性。
requestControls
- 要用於新上下文的請求控制元件(可能為 null)。如果為 null,則不使用任何請求控制元件初始化上下文。
NamingException
- 如果在創建新實例時出錯。InitialLdapContext
void reconnect(Control[] connCtls) throws NamingException
此方法是一種顯式啟動 LDAP“綁定”操作的方式。例如,可以使用此方法為 LDAP“綁定”操作設置請求控制元件,或者顯式連接到伺服器以獲取由 LDAP“綁定”操作返回的回應控制元件。
此方法將此上下文的 connCtls 設置為其新連接請求控制元件。此上下文的上下文請求控制元件將不受影響。調用此方法後,所有後續隱式重接將使用 connCtls 完成。connCtls 還可用作從此上下文派生的新上下文實例的連接請求控制元件。這些連接請求控制元件將不受 setRequestControls() 的影響。
服務提供者的實作方應該讀取類別描述中的“服務提供者”一節,以獲取實作詳細資訊。
connCtls
- 要使用的控制元件(可能為 null)。如果為 null,則不使用任何控制元件。
NamingException
- 如果重接時出錯。getConnectControls()
,
newInstance(javax.naming.ldap.Control[])
Control[] getConnectControls() throws NamingException
NamingException
- 如果在獲取請求控制元件時出錯。void setRequestControls(Control[] requestControls) throws NamingException
此操作移除所有以前的請求控制元件,並添加 requestControls 供在此上下文上調用的後續方法使用。此方法不影響此上下文的連接請求控制元件。
注意,在下一次調用 setRequestControls() 之前 requestControls 一直有效。如果不想讓這些控制元件繼續影響上下文方法,則需要使用 null 或空陣列作為參數顯式調用 setRequestControls() 來清除它們。要檢查對此上下文有效的請求控制元件,請使用 getRequestControls()。
requestControls
- 要使用的控制元件(可能為 null)。如果為 null,則不使用任何控制元件。
NamingException
- 如果在設置請求控制元件時出錯。getRequestControls()
Control[] getRequestControls() throws NamingException
NamingException
- 如果在獲取請求控制元件時出錯。setRequestControls(javax.naming.ldap.Control[])
Control[] getResponseControls() throws NamingException
這些回應控制元件可能由成功或失敗的操作產生。
調用可能返迴響應控制元件的上下文方法時,上一個方法調用產生的回應控制元件將被清除。getResponseControls()(按照從 LDAP 伺服器收到回應控制元件的順序) 返回上下文方法使用的 LDAP 操作產生的所有回應控制元件。調用 getResponseControls() 不清除回應控制元件。在調用可能返回控制元件的下一個上下文方法之前,可以多次調用它(並返回相同的控制元件)。
NamingException
- 如果在獲取回應控制元件時出錯。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。