link
Avalon
Component Specification
Home PlanetProductsCentral
Component Specification

The component specifications deals with the interaction between a component and the container it is running within. This specification covers the component descriptors, lifecycle artifacts and delivery mechanisms, and component lifestyles.

Index
TopicSummary
Descriptors A component is a reusable computation unit that provides zero or more functional services. This implies that a component is more than a class or collection of classes. It is computational unit that can be deployed predictably in different application scenarios and environments. A component type descriptor (Type) is used to hold immutable information associated with the component implementation. Based on information accessible from an instance of Type a container has available the structural and runtime dependencies that a instance of a corresponding component class will require. This section presents the type model and the techniques supporting automated generation of type information.
Artifacts A component may be instantiated using either constructor injection or phased lifecycle processing. During the process of instantiation a container can supplies a range of artifacts such as logging channel, configuration, context object, service manager, etc. This section of the specification presents each of the standard artifacts and the associated semantics.
Lifecycle Lifecycle management encompasses the process of deployment during which artifacts are delivered and a component is fully established, runtime lifecycle management functions, through to end-of-life processing and the related decommissioning of the component. This section of the specification deals with abstract lifecycle concepts and the effects of lifecycle management on an overall system.
Lifestyle A component implementation is associated with a particular lifestyle. A lifestyle is policy that deals with the decision to create a new component as opposed to to supplying a reference to an existing component. Examples of lifestyle policies include "singleton", "per-thread", and "transient". This section of the specification describes each policy and the related semantics that a component author can assume concerning instantiation and references sharing.