|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.beans.Beans
public class Beans
此類別提供一些通用的 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 |
建構子詳細資訊 |
---|
public Beans()
方法詳細資訊 |
---|
public static Object instantiate(ClassLoader cls, String beanName) throws IOException, ClassNotFoundException
實例化 JavaBean。
cls
- 應該在其中創建 bean 的類別載入器。如果該參數為 null,則使用系統類別載入器。beanName
- 類別載入器中 bean 的名稱。例如 "sun.beanbox.foobah"
ClassNotFoundException
- 如果找不到序列化物件的類別。
IOException
- 如果發生 I/O 錯誤。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 錯誤。public static Object instantiate(ClassLoader cls, String beanName, BeanContext beanContext, AppletInitializer initializer) throws IOException, ClassNotFoundException
基於相對於某個類別載入器的名稱創建 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 的 BeanContextinitializer
- 用於新 bean 的 AppletInitializer
ClassNotFoundException
- 如果找不到序列化物件的類別。
IOException
- 如果發生 I/O 錯誤。public static Object getInstanceOf(Object bean, Class<?> targetType)
結果可能是相同的物件或不同的物件。如果所請求的目標視圖不可用,則返回給定 bean。
此方法在 Beans 1.0 中作為一個鉤子 (hook) 提供,以允許以後添加更靈活的 bean 行為。
bean
- 想從中獲得視圖的物件。targetType
- 想獲得的視圖型別。public static boolean isInstanceOf(Object bean, Class<?> targetType)
bean
- 想從中獲得視圖的 bean。targetType
- 想獲得的視圖型別。
public static boolean isDesignTime()
DesignMode
public static boolean isGuiAvailable()
Visibility
public static void setDesignTime(boolean isDesignTime) throws SecurityException
注意,此方法是經過安全檢查的,不可以用於(例如)不受信任的 applet。更明確地說,如果有安全管理器,則調用其 checkPropertiesAccess
方法。這可能會導致 SecurityException 異常。
isDesignTime
- 如果正在使用應用程序產生器工具,則該參數為 true。
SecurityException
- 如果安全管理器存在並且其 checkPropertiesAccess
方法不允許設置系統屬性。SecurityManager.checkPropertiesAccess()
public static void setGuiAvailable(boolean isGuiAvailable) throws SecurityException
注意,此方法是經過安全檢查的,不可以用於(例如)不受信任的 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。