java.beans

Class Beans

public class Beans extends Object

Beans provides some helper methods that allow the basic operations of Bean-ness.

Since: 1.1

UNKNOWN: updated to 1.4

Constructor Summary
Beans()
Once again, we have a java.beans class with only static methods that can be instantiated.
Method Summary
static ObjectgetInstanceOf(Object bean, Class<?> newClass)
Returns the Bean as a different class type.
static Objectinstantiate(ClassLoader cl, String beanName)
Creates a bean.
static Objectinstantiate(ClassLoader cl, String beanName, BeanContext beanContext)
Creates a bean.
static Objectinstantiate(ClassLoader cl, String beanName, BeanContext beanContext, AppletInitializer initializer)
Instantiates a bean according to Beans 1.0.
static booleanisDesignTime()
Returns whether it is design time.
static booleanisGuiAvailable()
Returns whether the GUI is available to use.
static booleanisInstanceOf(Object bean, Class<?> newBeanClass)
Determines whether the Bean can be cast to a different class type.
static voidsetDesignTime(boolean designTime)
Sets whether it is design time.
static voidsetGuiAvailable(boolean guiAvailable)
Sets whether the GUI is available to use.

Constructor Detail

Beans

public Beans()
Once again, we have a java.beans class with only static methods that can be instantiated. When will the madness end? :)

Method Detail

getInstanceOf

public static Object getInstanceOf(Object bean, Class<?> newClass)
Returns the Bean as a different class type. This should be used instead of casting to get a new type view of a Bean, because in the future there may be new types of Bean, even Beans spanning multiple Objects.

Parameters: bean the Bean to cast. newClass the Class to cast it to.

Returns: the Bean as a new view, or if the operation could not be performed, the Bean itself.

instantiate

public static Object instantiate(ClassLoader cl, String beanName)
Creates a bean.

This is a convenience method that calls instantiate(cl, beanName, null, null).

Parameters: cl ClassLoader to be used or null for the system classloader. beanName Name of a serialized bean or class name.

Returns: A newly created bean.

Throws: IOException If access of an IO resource failed. ClassNotFoundException If the class name is not known or does not lead to a proper bean class.

See Also: instantiate(ClassLoader, String, BeanContext, AppletInitializer)

instantiate

public static Object instantiate(ClassLoader cl, String beanName, BeanContext beanContext)
Creates a bean.

This is a convenience method that calls instantiate(cl, beanName, beanContext, null).

Parameters: cl ClassLoader to be used or null for the system classloader. beanName Name of a serialized bean or class name. beanContext Context to which the newly created Bean should be added.

Returns: A newly created bean.

Throws: IOException If access of an IO resource failed. ClassNotFoundException If the class name is not known or does not lead to a proper bean class.

See Also: instantiate(ClassLoader, String, BeanContext, AppletInitializer)

instantiate

public static Object instantiate(ClassLoader cl, String beanName, BeanContext beanContext, AppletInitializer initializer)
Instantiates a bean according to Beans 1.0.

In Beans 1.0 the instantiation scheme is as follows:

The name should be dot-separated (e.g "place.for.beans.myBean") and indicate either a serialized object or a class name. In the first case all dots in the name are replaced with slashes ('/') and ".ser" is appended ("place.for.beans.myBean" becomes "place/for/beans/myBean.ser"). The bean is then loaded as an application or system resource depending on whether a ClassLoader was provided.

If no such resource exists or if it contains no bean the name is interpreted as a class name of which an instance is then created.

If a BeanContext instance is available the created bean is added to it.

If the created Bean is an Applet or subclass and an AppletInitializer instance is available the applet is initialized and afterwards activated using the initializer. Additionally every instantiated Applet bean is initialized using the {@link Applet.init} method. Furthermore every applet gets a default AppletStub. The Applet's document base is the location of the ".ser" file if it was deserialized or the location of its class file if it was instantiated.

A ClassNotFoundException is not only thrown when a class name was unknown but even when the class has public no-argument constructor (IllegalAccessException is wrapped) or an exception is thrown while invoking such a constructor (causing exception is wrapped).

Parameters: cl ClassLoader to be used or null for the system classloader. beanName Name of a serialized bean or class name. beanContext Context to which the newly created Bean should be added. initializer The AppletInitializer which is used for initializing Applet beans.

Returns: A newly created bean.

Throws: IOException If access of an IO resource failed. ClassNotFoundException If the class name is not known or does not lead to a proper bean class.

isDesignTime

public static boolean isDesignTime()
Returns whether it is design time. Design time means we are in a RAD tool.

Defaults to false.

Returns: whether it is design time.

isGuiAvailable

public static boolean isGuiAvailable()
Returns whether the GUI is available to use.

Defaults to true.

Returns: whether the GUI is available to use.

isInstanceOf

public static boolean isInstanceOf(Object bean, Class<?> newBeanClass)
Determines whether the Bean can be cast to a different class type. This should be used instead of instanceof to determine a Bean's castability, because in the future there may be new types of Bean, even Beans spanning multiple Objects.

Parameters: bean the Bean to cast. newClass the Class to cast it to.

Returns: whether the Bean can be cast to the class type in question.

setDesignTime

public static void setDesignTime(boolean designTime)
Sets whether it is design time. Design time means we are in a RAD tool.

Parameters: designTime whether it is design time.

setGuiAvailable

public static void setGuiAvailable(boolean guiAvailable)
Sets whether the GUI is available to use.

Parameters: guiAvailable whether the GUI is available to use.