- Persistence - A Bean can serialise itself for storage reasons. Its
internal state is stored away so that it can be reincarnated at a later
stage with similar appearance and behaviour.
- Properties - These are named attributes that can affect the appearance
or behaviour of a Bean. Typically they are persistent so that their
state can be stored as part of the persistent state of the Bean. They are
accessed through get and set methods so that the Bean has full control
over any property changes.
- Events - An event is a notification between a source and one or more
listeners. It provides a mechanism for connecting Beans. A listener
can express interest in a particular event and will subsequently be
notified when that event occurs.
- Introspection - This is the ability for an external piece of software
to analyse a bean to determine its properties, events and methods.
- Customisation - It is unlikely that a Bean, as distributed, will exactly
match the requirements of a particular application. This is, in fact, a
good thing. Users need to be able to customise the appearance and behaviour
of the various Beans they are using. This can happen in two ways:
1.A builder can construct a property
sheet for a Bean based on the Beans properties.
The user can then
use the property sheet to update the various properties of the Bean.
2.A Bean can have an associated customiser
class that controls customisation. This can
provide whatever
User Interface behaviour it wishes and can be run in order to
customise the Bean.