JavaTM 2 Platform
Standard Ed. 6

javax.naming.spi
類別 DirectoryManager

java.lang.Object
  繼承者 javax.naming.spi.NamingManager
      繼承者 javax.naming.spi.DirectoryManager

public class DirectoryManager
extends NamingManager

此類別包含支持 DirContext 實作的方法。

此類別是 NamingManager 的一個擴展。它包含一些方法供服務提供者用來存取物件處理器和狀態處理器,並用來獲得連續上下文以支持聯合。

DirectoryManager 用於多個執行緒的共時存取是安全的。

除非另有說明,否則傳遞給任何方法的 NameAttributes 或環境參數都歸調用者所有。該實作不會修改物件或保持對該物件的參考,儘管可能保持對其副本的參考。

從以下版本開始:
1.3
另請參見:
DirObjectFactory, DirStateFactory

欄位摘要
 
從類別 javax.naming.spi.NamingManager 繼承的欄位
CPE
 
方法摘要
static DirContext getContinuationDirContext(CannotProceedException cpe)
          創建一個將繼續某個 DirContext 操作的上下文。
static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)
          為指定物件、屬性和環境創建一個物件實例。
static DirStateFactory.Result getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)
          在給定初始對象及其屬性時,檢索用於綁定的物件的狀態。
 
從類別 javax.naming.spi.NamingManager 繼承的方法
getContinuationContext, getInitialContext, getObjectInstance, getStateToBind, getURLContext, hasInitialContextFactoryBuilder, setInitialContextFactoryBuilder, setObjectFactoryBuilder
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法詳細資訊

getContinuationDirContext

public static DirContext getContinuationDirContext(CannotProceedException cpe)
                                            throws NamingException
創建一個將繼續某個 DirContext 操作的上下文。此方法的運行非常類似於 NamingManager.getContinuationContext(),唯一的不同是它返回的連續上下文是一個 DirContext

參數:
cpe - 觸發此連續的非 null 異常。
返回:
用於繼續該操作的非 null DirContext 物件。
拋出:
NamingException - 如果發生命名異常。
另請參見:
NamingManager.getContinuationContext(CannotProceedException)

getObjectInstance

public static Object getObjectInstance(Object refInfo,
                                       Name name,
                                       Context nameCtx,
                                       Hashtable<?,?> environment,
                                       Attributes attrs)
                                throws Exception
為指定物件、屬性和環境創建一個物件實例。

除以下不同之處外,此方法與 NamingManager.getObjectInstance 相同:

實作 DirContext 介面的服務提供者應該使用此方法而不是 NamingManager.getObjectInstance()

參數:
refInfo - 將為之創建物件的物件(可能為 null)。
name - 此物件的相對於 nameCtx 的名稱。指定名稱是可選操作;如果忽略名稱,則 name 應該為 null。
nameCtx - 一個上下文,name 參數是相對於該上下文指定的。如果為 null,則 name 相對於預設初始上下文。
environment - 將在創建物件和物件處理器時使用的環境(可能為 null)。
attrs - 與 refInfo 關聯的屬性(可能為 null)。這些屬性可能不是用於 refInfo 的完整屬性集,可以從目錄中讀取更多的屬性。
返回:
使用 refInfoattrs 創建的物件;如果無法通過處理器創建物件,則返回 refInfo
拋出:
NamingException - 如果在試圖獲得 URL 上下文時遇到命名異常,或者受存取的處理器之一拋出 NamingException。
Exception - 如果受存取的處理器之一拋出異常,或者載入和實例化處理器和物件類別時遇到錯誤。處理器只有在不希望試圖使用其他處理器創建物件時才拋出異常。請參見 DirObjectFactory.getObjectInstance()
從以下版本開始:
1.3
另請參見:
NamingManager.getURLContext(java.lang.String, java.util.Hashtable), DirObjectFactory, DirObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, javax.naming.directory.Attributes)

getStateToBind

public static DirStateFactory.Result getStateToBind(Object obj,
                                                    Name name,
                                                    Context nameCtx,
                                                    Hashtable<?,?> environment,
                                                    Attributes attrs)
                                             throws NamingException
在給定初始對象及其屬性時,檢索用於綁定的物件的狀態。

除以下不同之處外,此方法與 NamingManager.getStateToBind 類似:

實作 DirContext 介面的服務提供者應該使用此方法而不是 NamingManager.getStateToBind()

有關如何確定要嘗試的狀態處理器列表的描述,請參見 NamingManager.getStateToBind()。

此方法返回的物件歸調用者所有。該實作隨後不會對它進行修改。它或者包含一個同樣歸調用者所有的新 Attributes 物件,或者包含對原始 attrs 參數的參考。

參數:
obj - 將為其獲得要綁定的狀態的非 null 物件。
name - 此物件相對於 nameCtx 的名稱,如果沒有指定名稱,則該參數為 null。
nameCtx - 一個上下文,name 參數是相對於該上下文指定的,如果 name 相對於預設初始上下文,則該參數為 null。
environment - 將在創建狀態處理器和物件狀態時使用的環境(可能為 null)。
attrs - 將與物件綁定在一起的屬性(可能為 null)。
返回:
一個非 null DirStateFactory.Result,它包含要綁定的物件和屬性。如果沒有任何狀態處理器返回非 null 應答,則結果將包含該物件本身 (obj) 以及原始屬性。
拋出:
NamingException - 如果使用這些處理器時遇到命名異常。處理器只有在不希望試圖使用其他處理器創建物件時才拋出異常。請參見 DirStateFactory.getStateToBind()
從以下版本開始:
1.3
另請參見:
DirStateFactory, DirStateFactory.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, javax.naming.directory.Attributes), NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only