JavaBeans


In computing based on the Java Platform, JavaBeans is a technology developed by Sun Microsystems and released in 1996, as part of JDK 1.1.
The 'beans' of JavaBeans are classes that encapsulate one or more objects into a single standardized object. This standardization allows the beans to be handled in a more generic fashion, allowing easier code reuse and introspection. This in turn allows the beans to be treated as software components, and to be manipulated visually by editors and IDEs without needing any initial configuration, or to know any internal implementation details.
As part of the standardization, all beans must be serializable, have a zero-argument constructor, and allow access to properties using getter and setter methods.

Features

;Introspection
;Properties
;Customization
;Events
;Persistence
;Methods

Advantages

  • The properties, events, and methods of a bean can be exposed to another application.
  • A bean may register to receive events from other objects and can generate events that are sent to those other objects.
  • Auxiliary software can be provided to help configure a bean.
  • The configuration settings of a bean can be saved to persistent storage and restored.

Disadvantages

  • A class with a zero-argument constructor is subject to being instantiated in an invalid state. If such a class is instantiated manually by a developer, the developer might not realize that the class has been improperly instantiated. The compiler cannot detect such a problem, and even if it is documented, there is no guarantee that the developer will see the documentation.
  • JavaBeans are inherently mutable and so lack the advantages offered by immutable objects.
  • Having to create getters for every property and setters for many, most, or all of them can lead to an immense quantity of boilerplate code.

JavaBeans API

The JavaBeans functionality is provided by a set of classes and interfaces in the java.beans package.
InterfaceDescription
AppletInitializerMethods in this interface are used to initialize Beans that are also applets.
BeanInfoThis interface allows the designer to specify information about the events, methods and properties of a Bean.
CustomizerThis interface allows the designer to provide a graphical user interface through which a bean may be configured.
DesignModeMethods in this interface determine if a bean is executing in design mode.
ExceptionListenerA method in this interface is invoked when an exception has occurred.
PropertyChangeListenerA method in this interface is invoked when a bound property is changed.
PropertyEditorObjects that implement this interface allow the designer to change and display property values.
VetoableChangeListenerA method in this interface is invoked when a Constrained property is changed.
VisibilityMethods in this interface allow a bean to execute in environments where the GUI is not available.

JavaBean conventions

In order to function as a JavaBean class, an object class must obey certain conventions about method naming, construction, and behaviour. These conventions make it possible to have tools that can use, reuse, replace, and connect Java Beans.
The required conventions are as follows:
  • The class must have a public default constructor. This allows easy instantiation within editing and activation frameworks.
  • The class properties must be accessible using get, set, is, to and other methods according to a standard naming convention. This allows easy automated inspection and updating of bean state within frameworks, many of which include custom editors for various types of properties. Setters can have one or more arguments.
  • The class should be serializable.

Code example


package org.wikipedia.players;
import java.io.Serializable;
import java.util.List;
public class PersonBean implements Serializable

TestPersonBean.java:

package org.wikipedia.players;
import java.util.ArrayList;
import org.wikipedia.players.PersonBean;
/**
* Class "TestPersonBean".
*/
public class TestPersonBean






Name:

Deceased?




Enter a name:

Choose an option: