JavaTM 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)
           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 操作が使用可能な環境で動作しているかどうかを示します。
 
クラス 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

Bean のインスタンスを生成します。

パラメータ:
cls - Bean の作成元となる クラスローダー。これが null の場合は、 システムクラスローダーを使用する
beanName - クラスローダー内の Bean の名前。 たとえば、"sun.beanbox.foobah"
例外:
ClassNotFoundException - 直列化されたオブジェクトの クラスが見つからなかった場合
IOException - 入出力エラーが発生した場合

instantiate

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

Bean のインスタンスを生成します。

パラメータ:
cls - Bean の作成元となる クラスローダー。これが null の場合は、 システムクラスローダーを使用する
beanName - クラスローダー内の Bean の名前。 たとえば、"sun.beanbox.foobah"
beanContext - 新しい Bean の入れ子先となる BeanContext
例外:
ClassNotFoundException - 直列化されたオブジェクトの クラスが見つからなかった場合
IOException - 入出力エラーが発生した場合

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 が提供されます。次にクラス名からインスタンスが生成されると、アプレットの「init」メソッドが呼び出されます (Bean が直列化復元されていれば、このステップはスキップされる)。

アプレットである Bean では、アプレットで「start」を呼び出すのは呼び出し側の役割です。正しい動作のためには、アプレットが可視 AWT コンテナに追加されてからこの処理を行うようにします。

beans.instantiate で作成したアプレットは、ブラウザ内で動作するアプレットとは多少異なる環境で動作します。特に、Bean アプレットは「パラメータ」にアクセスできないため、パラメータ値を設定するために、プロパティーの取得/設定メソッドを提供することがあります。Bean アプレットの開発者は、Bean アプレットを SDK appletviewer (リファレンスブラウザ環境用) および BDK BeanBox (リファレンス Bean コンテナ用) でテストすることをお勧めします。

パラメータ:
cls - Bean の作成元となる クラスローダー。これが null の場合は、 システムクラスローダーを使用する
beanName - クラスローダー内の Bean の名前。 たとえば、"sun.beanbox.foobah"
beanContext - 新しい Bean の入れ子先となる BeanContext
initializer - 新しい Bean の AppletInitializer
例外:
ClassNotFoundException - 直列化されたオブジェクトの クラスが見つからなかった場合
IOException - 入出力エラーが発生した場合

getInstanceOf

public static Object getInstanceOf(Object bean,
                                   Class<?> targetType)
指定された Bean から、そのソースオブジェクトの指定されたタイプのビューを表すオブジェクトを取得します。

結果は、同じオブジェクトまたは異なるオブジェクトです。要求されたターゲットビューがない場合は、指定された Bean が返されます。

このメソッドは Beans 1.0 で将来、より柔軟な 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
アプリケーション構築環境で動作しているかどうかを示します。

このメソッドは、セキュリティーをチェックするので、信頼できないアプレットなどでは使用できません。つまり、セキュリティーマネージャーが存在する場合は、セキュリティーマネージャーの checkPropertiesAccess メソッドが呼び出されます。この結果、SecurityException がスローされることがあります。

パラメータ:
isDesignTime - アプリケーション構築ツールで動作している場合は true
例外:
SecurityException - セキュリティーマネージャーが存在し、 その checkPropertiesAccess メソッドが、 システムプロパティーの設定を許可しない場合
関連項目:
SecurityManager.checkPropertiesAccess()

setGuiAvailable

public static void setGuiAvailable(boolean isGuiAvailable)
                            throws SecurityException
GUI 操作が使用可能な環境で動作しているかどうかを示します。

このメソッドは、セキュリティーをチェックするので、信頼できないアプレットなどでは使用できません。つまり、セキュリティーマネージャーが存在する場合は、セキュリティーマネージャーの checkPropertiesAccess メソッドが呼び出されます。この結果、SecurityException がスローされることがあります。

パラメータ:
isGuiAvailable - GUI 操作が可能な場合は true
例外:
SecurityException - セキュリティーマネージャーが存在し、 その checkPropertiesAccess メソッドが、 システムプロパティーの設定を許可しない場合
関連項目:
SecurityManager.checkPropertiesAccess()

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。