The Java Component Model JavaBeans - A generic component model
In addition to having a default constructor & being Serializable, a JavaBean exports properties, events & methods
JavaBeans also define indexed, bound and constrained properties
BeanInfo classes provide info in the form of FeatureDescriptor objects for each Bean feature
PropertyEditor class enables the user to manipulate bean properties in the Beanbox
Customizer class allows the user to configure beans in some useful way