|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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 中作为一个挂钩提供,以允许以后添加更灵活的 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