public class Beans extends Object
コンストラクタと説明 |
---|
Beans() |
修飾子と型 | メソッドと説明 |
---|---|
static Object |
getInstanceOf(Object bean, Class<?> targetType)
指定された Bean から、そのソースオブジェクトの指定されたタイプのビューを表すオブジェクトを取得します。
|
static Object |
instantiate(ClassLoader cls, String beanName)
Bean のインスタンスを生成します。
|
static Object |
instantiate(ClassLoader cls, String beanName, BeanContext beanContext)
Bean のインスタンスを生成します。
|
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 操作が使用可能な環境で動作しているかどうかを示します。
|
public static Object instantiate(ClassLoader cls, String beanName) throws IOException, ClassNotFoundException
Bean のインスタンスを生成します。
cls
- Bean の作成元にすべきクラスローダー。これが null の場合は、システムクラスローダーを使用する。beanName
- クラスローダー内の Bean の名前。たとえば、"sun.beanbox.foobah"ClassNotFoundException
- 直列化されたオブジェクトのクラスが見つからなかった場合。IOException
- 入出力エラーが発生した場合。public static Object instantiate(ClassLoader cls, String beanName, BeanContext beanContext) throws IOException, ClassNotFoundException
Bean のインスタンスを生成します。
cls
- Bean の作成元にすべきクラスローダー。これが null の場合は、システムクラスローダーを使用する。beanName
- クラスローダー内の Bean の名前。たとえば、"sun.beanbox.foobah"beanContext
- 新しい Bean の入れ子先となる BeanContextClassNotFoundException
- 直列化されたオブジェクトのクラスが見つからなかった場合。IOException
- 入出力エラーが発生した場合。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 が提供されます。次にクラス名からインスタンスが生成されると、アプレットの「init」メソッドが呼び出されます。(Bean が直列化復元されていれば、このステップはスキップされる)。
アプレットである Bean では、アプレットで「start」を呼び出すのは呼び出し側の役割です。正しい動作のためには、アプレットが可視 AWT コンテナに追加されてからこの処理を行うようにします。
beans.instantiate で作成したアプレットは、ブラウザ内で動作するアプレットとは多少異なる環境で動作します。特に、Bean アプレットは「パラメータ」にアクセスできないため、パラメータ値を設定するために、プロパティーの取得/設定メソッドを提供することがあります。Bean アプレットの開発者は、Bean アプレットを JDK appletviewer (リファレンスブラウザ環境用) および BDK BeanBox (リファレンス Bean コンテナ用) でテストすることをお勧めします。
cls
- Bean の作成元にすべきクラスローダー。これが null の場合は、システムクラスローダーを使用する。beanName
- クラスローダー内の Bean の名前。たとえば、"sun.beanbox.foobah"beanContext
- 新しい Bean の入れ子先となる BeanContextinitializer
- 新しい Bean の AppletInitializerClassNotFoundException
- 直列化されたオブジェクトのクラスが見つからなかった場合。IOException
- 入出力エラーが発生した場合。public static Object getInstanceOf(Object bean, Class<?> targetType)
結果は、同じオブジェクトまたは異なるオブジェクトです。要求されたターゲットビューがない場合は、指定された Bean が返されます。
このメソッドは Beans 1.0 で将来、より柔軟な 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
このメソッドは、セキュリティーをチェックするので、信頼できないアプレットなどでは使用できません。つまり、セキュリティーマネージャーがある場合は、その checkPropertiesAccess
メソッドが呼び出されます。この結果、SecurityException がスローされることがあります。
isDesignTime
- アプリケーション構築ツールで動作している場合は true。SecurityException
- セキュリティーマネージャーが存在し、その checkPropertiesAccess
メソッドがシステムプロパティーの設定を許可しない場合。SecurityManager.checkPropertiesAccess()
public static void setGuiAvailable(boolean isGuiAvailable) throws SecurityException
このメソッドは、セキュリティーをチェックするので、信頼できないアプレットなどでは使用できません。つまり、セキュリティーマネージャーがある場合は、その checkPropertiesAccess
メソッドが呼び出されます。この結果、SecurityException がスローされることがあります。
isGuiAvailable
- GUI 操作が可能な場合は true。SecurityException
- セキュリティーマネージャーが存在し、その checkPropertiesAccess
メソッドがシステムプロパティーの設定を許可しない場合。SecurityManager.checkPropertiesAccess()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.