Download the JDK
Search the Tutorials
Hide the TOC
Trail: JavaBeans(TM)
Lesson: Using the BeanContext API
Using the BeanContext API
Overview of the BeanContext API
Bean Context #1: Containment Only
Bean Context #2: Containment and Services
AWT Containers and the BeanContextProxy Interface
Home Page > JavaBeans(TM) > Using the BeanContext API
Overview of the BeanContext API

> The Extensible Runtime Containment and Services Protocol supports extensible mechanisms that:

> - Introduce an abstraction for the environment, or context, in which a JavaBean logically functions during its life-cycle, that is a hierarchy of JavaBeans
> - Enable the dynamic addition of arbitrary services to a JavaBean's environment
> - Provide a single service discovery mechanism through which JavaBeans may interrogate their environment in order both to ascertain the availability of particular services and to subsequently employ those services.
> - Provide better support for JavaBeans that are also Applets.

> In English, this means that there now exists a standard mechanism through which Java developers can logically group a set of related JavaBeans into a "context" that the beans can become aware of and/or interact with. This context, or "containing environment", is known as the `BeanContext`.

> There are two distinct types of `BeanContext` included in this protocol: one which supports membership only (interface `java.beans.beancontext.BeanContext`) and one which supports membership and offers services (interface `java.beans.beancontext.BeanContextServices`) to its JavaBeans nested within.

> To orient yourself with the classes and interfaces of `java.beans.beancontext`, take a minute to look over the following hierarchy diagram. You will notice that the majority of the package is defined as interfaces, which allow for multiple inheritance.

> ### Inheritance Diagram of the BeanContext API

> The classes and interfaces relevant to the `BeanContext` API are listed in the following diagrams. As you study the diagrams, take note of the `BeanContext` and `BeanContextServices` interfaces, and that each has its own concrete implementation that you can subclass or instantiate directly (classes `java.beans.beancontext.BeanContextSupport` and `java.beans.beancontext.BeanContextServicesSupport` respectively). Also take note of the location of the `java.beans.beancontext.BeanContextChild` interface. This is the interface that allows nested JavaBeans to become aware of their enclosing `BeanContext`.

Previous page: Using the BeanContext API
Next page: Bean Context #1: Containment Only