JavaTM 2 Platform
Standard Ed. 6

java.beans
類別 Beans

java.lang.Object
  繼承者 java.beans.Beans

public class Beans
extends Object

此類別提供一些通用的 bean 控制方法。


建構子摘要
Beans()
           
 
方法摘要
static Object getInstanceOf(Object bean, Class<?> targetType)
          從給定 bean 中獲得表示源物件的指定型別視圖的物件。
static Object instantiate(ClassLoader cls, String beanName)
           實例化 JavaBean。
static Object instantiate(ClassLoader cls, String beanName, BeanContext beanContext)
           實例化 JavaBean。
static Object instantiate(ClassLoader cls, String beanName, BeanContext beanContext, AppletInitializer initializer)
          實例化 bean。
static boolean isDesignTime()
          測試是否正處於設計網要。
static boolean isGuiAvailable()
          確定 bean 是否可以假定某個 GUI 是可用的。
static boolean isInstanceOf(Object bean, Class<?> targetType)
          檢查是否可以將 bean 視為給定目標型別。
static void setDesignTime(boolean isDesignTime)
          用於指示是否正運行在應用程序產生器環境中。
static void setGuiAvailable(boolean isGuiAvailable)
          用於指示是否正運行在可進行 GUI 交互的環境中。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

Beans

public Beans()
方法詳細資訊

instantiate

public static Object instantiate(ClassLoader cls,
                                 String beanName)
                          throws IOException,
                                 ClassNotFoundException

實例化 JavaBean。

參數:
cls - 應該在其中創建 bean 的類別載入器。如果該參數為 null,則使用系統類別載入器。
beanName - 類別載入器中 bean 的名稱。例如 "sun.beanbox.foobah"
拋出:
ClassNotFoundException - 如果找不到序列化物件的類別。
IOException - 如果發生 I/O 錯誤。

instantiate

public static Object instantiate(ClassLoader cls,
                                 String beanName,
                                 BeanContext beanContext)
                          throws IOException,
                                 ClassNotFoundException

實例化 JavaBean。

參數:
cls - 應該在其中創建 bean 的類別載入器。如果該參數為 null,則使用系統類別載入器。
beanName - 類別載入器中 bean 的名稱。例如 "sun.beanbox.foobah"
beanContext - 在其中巢狀新的 bean 的 BeanContext
拋出:
ClassNotFoundException - 如果找不到序列化物件的類別。
IOException - 如果發生 I/O 錯誤。

instantiate

public static Object instantiate(ClassLoader cls,
                                 String beanName,
                                 BeanContext beanContext,
                                 AppletInitializer initializer)
                          throws IOException,
                                 ClassNotFoundException
實例化 bean。

基於相對於某個類別載入器的名稱創建 bean。此名稱應該是以句點分隔的名稱,例如 "a.b.c"。

在 Beans 1.0 中,給定名稱可以指示一個序列化物件或一個類別。其他機制可以在將來添加。在 beans 1.0 中,首先試著將 beanName 作為序列化的物件名稱對待,然後將它作為類別名稱對待。

在將 beanName 用作序列化物件名稱時,要將給定的 beanName 轉換為資源路徑名,並添加後綴 ".ser"。然後試著從該資源載入序列化物件。

例如,給定一個 beanName "x.y",Beans.instantiate 首先將試著從資源 "x/y.ser" 中讀取一個序列化物件,如果失敗,它會試著載入類別 "x.y" 並創建該類別的一個實例。

如果 bean 是 java.applet.Applet 的子型別,則為它提供一些特殊的初始化。首先,向它提供預設的 AppletStub 和 AppletContext。其次,如果根據類別名稱實例化 bean,則調用 applet 的 "init" 方法。(如果 bean 被反序列化,則跳過此步驟。)

注意,對於作為 applet 的 bean,由調用者負責在 applet 上調用 "start"。為了運轉正常,應該在已經將 applet 添加到可見 AWT 容器中後執行該步驟。

注意,通過 beans.instantiate 創建的 applet 運行在與瀏覽器中運行的 applet 稍有不同的環境中。尤其要指出的是,bean applet 無法存取 "parameters",因此它們可能希望提供屬性 get/set 方法來設置參數值。建議 bean-applet 開發人員對照 JDK appletviewer(對於參考瀏覽器環境)和 BDK BeanBox(對於參考 bean 容器)來測試他們的 bean-applet。

參數:
cls - 應該在其中創建 bean 的類別載入器。如果該參數為 null,則使用系統類別載入器。
beanName - 類別載入器中 bean 的名稱。例如 "sun.beanbox.foobah"
beanContext - 在其中巢狀新 bean 的 BeanContext
initializer - 用於新 bean 的 AppletInitializer
拋出:
ClassNotFoundException - 如果找不到序列化物件的類別。
IOException - 如果發生 I/O 錯誤。

getInstanceOf

public static Object getInstanceOf(Object bean,
                                   Class<?> targetType)
從給定 bean 中獲得表示源物件的指定型別視圖的物件。

結果可能是相同的物件或不同的物件。如果所請求的目標視圖不可用,則返回給定 bean。

此方法在 Beans 1.0 中作為一個鉤子 (hook) 提供,以允許以後添加更靈活的 bean 行為。

參數:
bean - 想從中獲得視圖的物件。
targetType - 想獲得的視圖型別。

isInstanceOf

public static boolean isInstanceOf(Object bean,
                                   Class<?> targetType)
檢查是否可以將 bean 視為給定目標型別。如果可以在給定 bean 上使用 Beans.getInstanceof 方法來獲得表示指定 targetType 型別視圖的物件,則結果將為 true。

參數:
bean - 想從中獲得視圖的 bean。
targetType - 想獲得的視圖型別。
返回:
如果給定 bean 支持給定 targetType,則返回 "true"。

isDesignTime

public static boolean isDesignTime()
測試是否正處於設計網要。

返回:
如果正運行在應用程序建構環境中,則返回 true。
另請參見:
DesignMode

isGuiAvailable

public static boolean isGuiAvailable()
確定 bean 是否可以假定某個 GUI 是可用的。

返回:
如果正運行在這種環境:bean 可以假定交互 GUI 為可用,從而可以彈出對話框等,則返回 true。在視窗環境中,此方法通常將返回 true,而在伺服器環境中,或者應用程序作為批處理任務的一部分運行時,此方法通常將返回 false。
另請參見:
Visibility

setDesignTime

public static void setDesignTime(boolean isDesignTime)
                          throws SecurityException
用於指示是否正運行在應用程序產生器環境中。

注意,此方法是經過安全檢查的,不可以用於(例如)不受信任的 applet。更明確地說,如果有安全管理器,則調用其 checkPropertiesAccess 方法。這可能會導致 SecurityException 異常。

參數:
isDesignTime - 如果正在使用應用程序產生器工具,則該參數為 true。
拋出:
SecurityException - 如果安全管理器存在並且其 checkPropertiesAccess 方法不允許設置系統屬性。
另請參見:
SecurityManager.checkPropertiesAccess()

setGuiAvailable

public static void setGuiAvailable(boolean isGuiAvailable)
                            throws SecurityException
用於指示是否正運行在可進行 GUI 交互的環境中。

注意,此方法是經過安全檢查的,不可以用於(例如)不受信任的 applet。更明確地說,如果有安全管理器,則調用其 checkPropertiesAccess 方法。這可能會導致 SecurityException 異常。

參數:
isGuiAvailable - 如果可以進行 GUI 交互,則該參數為 true。
拋出:
SecurityException - 如果安全管理器存在並且其 checkPropertiesAccess 方法不允許設置系統屬性。
另請參見:
SecurityManager.checkPropertiesAccess()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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