org.cougaar.core.component |
|
Java Source File Name | Type | Comment |
AddonServiceBroker.java | Class | A Simple ServiceBroker which does a simple delegation
of service requests for most purposes, except that it has
an escape hatch where extending classes may, in effect, themselves
offer services directly to the requestors. |
Binder.java | Interface | A Binder is an implementation of a BindingSite: that is
an implementation of the Service-like relationship API
between a child component and its parent. |
BinderBase.java | Class | BinderBase contains logic for the parent link (ContainerAPI) but not the
child link. |
BinderFactory.java | Interface | A BinderFactory provides Binder instances
on behalf of a ContainingComponent or ServiceProvider to wrap
Child components.
BinderFactories are generally themselves specially bound by only by
a trivial binder, so the "parent" component link is supplied shortly after
construction by a call to the setContainer method. |
BinderFactorySupport.java | Class | Implement the basics of a BinderFactory. |
BinderFactoryWrapper.java | Interface | An idea for the future:
A BinderFactory which encapsulates all BinderFactories known
to a component of a lower priority. |
BinderSupport.java | Class | A Shell implementation of a Binder which does introspection-based
initialization and hooks for startup of the child component. |
BinderWrapper.java | Class | A base class for a BinderWrapper: A binder which is interposed between a container
and another binder. |
BindingSite.java | Interface | A BindingSite class names and specifies a specific parent Component
(Container) to child Component relationship API, e.g. |
BindingUtility.java | Class | |
BoundComponent.java | Class | A pair of Binder and Component, useful for keeping
state in Containers. |
Component.java | Interface | A Component is the base class of the Component and
Service Model. |
ComponentDescription.java | Class | An immutable description of a loadable component (for example,
a plugin, servlet, etc).
We may want several levels of description and protection,
starting here and ending up at an uninitialized instance. |
ComponentDescriptions.java | Class | A utility class for manipulating sets of ComponentDescription
objects.
Contains both ComponentDescriptions and StateTuples. |
ComponentFactory.java | Class | A base class useful for creating components
and instilling the "breath of life" (initial services)
on behalf of manager objects. |
ComponentFactoryException.java | Class | RuntimeException thrown by ComponentFactory
This was a checked exception until Cougaar 9.2. |
ComponentLoadFailure.java | Class | RuntimeException thrown when a component cannot be loaded. |
ComponentModelEvent.java | Class | Service event is a base class for all Service, Binder and Component
Model Events, analogous. |
ComponentRuntimeException.java | Class | Base class ComponentModel RuntimeException.
This exception and it's extending classes is used by the component model
internals to signal problems. |
ComponentSupport.java | Class | A base class for component implementations. |
ComponentView.java | Interface | A
ViewService view of a component, providing visibility
into the component's
ComponentDescription and
advertised/obtained services. |
ContainedBinderSupport.java | Class | A Binder implementation which proxies the ServiceBroker with an
AddonServiceBroker offering a ContainedService instance. |
ContainedService.java | Interface | A service which may be made available to a contained component
which allows access to various controls and information about
the context in which the component is loaded. |
Container.java | Interface | A Component which contains other components.
A Container plays a role similar to a BeanContext.
Most Collection operations (add, remove, contains, etc) expect
either ComponentDescription or Component instances as arguments,
depending upon the caller and this component's container. |
ContainerAPI.java | Interface | ContainerAPI is the interface used by Binder and/or BinderFactory to
invoke Binder-privileged methods on the parent Container. |
ContainerBinder.java | Interface | Binder for a child that is a Container. |
ContainerBinderSupport.java | Class | A Shell implementation of a ContainerBinder based upon
BinderSupport. |
ContainerSupport.java | Class | The standard implementation of a Container.
Although this implementation defines many protected methods,
it is long overdue for a major refactor, so developers should avoid
complex subclassing to allow for future ContainerSupport cleanup.
A simple ContainerSupport subclass, such as this example in
core:
org.cougaar.core.wp.resolver.ResolverContainer
will only define the two required abstract methods and allow
child components to advertise any necessary services.
Future refactor ideas include:
- Obvious overall code cleanup into smaller classes and
cleaner code.
- Remove last remnants of component proprity (HIGH/BINDER/etc),
since the core no longer uses it (bug 2522).
- Replace "*.Binder" and ".BinderFactory" insertion point
extension and "attachBinderFactory" with a new
"BinderFactoryService" advertised by this container,
and fix BinderFactories/Binders to use the new service.
- Make a clearer distinction between binders that instantiate
components v.s.
|
ContainerView.java | Interface | A
ViewService view of a container component, which extends
ComponentView by adding child views. |
DelegatingServiceBroker.java | Class | A Simple ServiceBroker which just delegates all
queries to another, useful for making restricted extentions. |
ExtendedServiceBroker.java | Interface | A
ServiceBroker with extended methods to support the
ViewService .
Note: This is an infrastructure mechanism to support the
ViewService . |
IncorrectInsertionPointException.java | Class | Marker class for a Container "add(..)" attempt to the wrong
component insertion point. |
NullService.java | Interface | This is a marker API for blocked services. |
ParameterizedComponent.java | Class | Simple Component base class that provides named paramater support. |
PropagatingServiceBroker.java | Class | A service broker which implements not just a local SB, but also
a pass-through to another (presumably higher-level) SB. |
Service.java | Interface | A Service is an abstract Service API which may be supplied by a
ServiceProvider which may be registered in a ServiceBroker object. |
ServiceAvailableEvent.java | Class | ServiceAvailableEvent indicates that a new service is available
to clients of a ServiceBroker. |
ServiceAvailableListener.java | Interface | |
ServiceBroker.java | Interface | Cougaar component Service Broker. |
ServiceBrokerSupport.java | Class | Simple implementation of Cougaar component services layer. |
ServiceEvent.java | Class | |
ServiceFilter.java | Class | A BinderFactoryWrapper which wraps components using a Binder which
examines and, optionally, modifies, wraps, or audits service requests. |
ServiceFilterBinder.java | Class | A Wrapper Binder contructed by ServiceFilter which
watches service requests and has convenient overridable points
where extensions may monitor, edit, veto or wrap services
requested by the client. |
ServiceListener.java | Interface | Base interface for all service listeners. |
ServiceProvider.java | Interface | |
ServiceRevokedEvent.java | Class | ServiceRevokedEvent indicates that a service has been
revoked in a service context. |
ServiceRevokedListener.java | Interface | |
ServiceView.java | Interface | A
ViewService view of an advertised or obtained service. |
StateObject.java | Interface | An Object that contains internal state.
Component mobility and persistence requires the saving and
restoration of internal Component state. |
StateTuple.java | Class | A tuple containing a Component description and the Component's state. |
ViewedServiceBroker.java | Class | A per-component
ServiceBroker proxy that supports the
ViewService . |
ViewService.java | Interface | This service allows a component to see its
ComponentDescription , the services it has obtained, and
additional component model information.
This is primarily a user interface service. |