Therefore rules that apply for the Collections framework also apply for a BeanContext framework. Each child object appears only once in the set of children for that BeanContext . If a bean is to utilize the BeanContext in which it is contained, it must implement the BeanContextChild interface. If BeanContext containers are to be nested, the BeanContextChild should implement the BeanContext interface as well. The Services API of the Extensible Runtime Containment and Services Protocol gives JavaBeans components a standard mechanism to discover which services other Beans may provide and to connect to these Beans to make use of those services.
Services are typically interface or abstract-class based.
A particular service provider can implement the service in a variety of ways while maintaining the same interface signature. Examples of services are spell checking or debugging. Another example would be a service provided by a BeanContext API that controls the locale setting for the Beans within the BeanContext container. Beans Development Kit 1.1 BDK 1.1 contains an updated version of the BeanBox and some new sample Beans. The BeanBox is both a BeanContext container and a BeanContext ServiceProvider .