hammant 2002/09/07 01:49:26
Modified: src/xdocs/framework reference-the-lifecycle.xml
Log:
Words on Serviceable
Revision Changes Path
1.4 +25 -25 jakarta-avalon/src/xdocs/framework/reference-the-lifecycle.xml
Index: reference-the-lifecycle.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon/src/xdocs/framework/reference-the-lifecycle.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- reference-the-lifecycle.xml 5 Aug 2002 13:23:59 -0000 1.3
+++ reference-the-lifecycle.xml 7 Sep 2002 08:49:26 -0000 1.4
@@ -14,9 +14,9 @@
<body>
<s1 title="Introduction">
<p>
- A Component lives within something called a container. The contract between
a
- container and a contained Component is simple: the container is required to
- take a Component through what is called its <strong>lifecycle</strong>.
+ A component lives within something called a container. The contract between
a
+ container and a contained component is simple: the container is required to
+ take a component through what is called its <strong>lifecycle</strong>.
</p>
<p>
The Avalon project provides an
@@ -37,9 +37,9 @@
</s1>
<s1 title="The Lifecycle">
<p>
- The lifecycle of a Component specifies the methods that can be called on
it,
+ The lifecycle of a component specifies the methods that can be called on
it,
and the order in which this may happen. Some methods can be called only
once
- in a specific <code>Phase</code> of a Component its lifecycle, others may
+ in a specific <code>Phase</code> of a component its lifecycle, others may
be called multiple times. These methods are called the lifecycle methods.
</p>
<p>
@@ -51,14 +51,14 @@
</s1>
<s1 title="The Lifecycle interfaces">
<p>
- A Component exposes its lifecycle methods by implementing the lifecycle
+ A component exposes its lifecycle methods by implementing the lifecycle
interfaces. Each of these defines one or more methods that represent a
- specific Phase in a Component's lifecycle. The defined interfaces are:
+ specific phase in a component's lifecycle. The defined interfaces are:
</p>
<ol>
<li>LogEnabled</li>
<li>Contextualizable</li>
- <li>Composable</li>
+ <li>Serviceable (replacement for Composable)</li>
<li>Configurable</li>
<li>Parameterizable</li>
<li>Initializable</li>
@@ -74,37 +74,37 @@
<note>
<strong>Note:</strong>java.lang.Runnable has also been in use as a
lifecycle
interface. This is not recommended and is not supported by Avalon. Instead,
- the run() method is the responsibility of the Component itself. If you wish
+ the run() method is the responsibility of the component itself. If you wish
to use it, call it from within start() or another method.
</note>
</s1>
<s1 title="Phase order">
<p>
The order in which the various lifecycle methods are called is very
specific.
- While none are required (it is possible to have a Component implementing
+ While none are required (it is possible to have a component implementing
none of the lifecycle methods, although the use of that would be limited),
some can only be used when others are as well. This is best explained using
a few examples.
</p>
<s2 title="simple examples">
- <p>The lifecycle of a <code>Component</code> implementing only Configurable
for
+ <p>The lifecycle of a component implementing only Configurable for
example will be:</p>
<ol>
<li>constructor</li>
<li>configure</li>
<li>finalize</li>
</ol>
- <p>The lifecycle of a <code>Component</code> implementing only Composable
will be:</p>
+ <p>The lifecycle of a component implementing only Serviceable will be:</p>
<ol>
<li>constructor</li>
- <li>compose</li>
+ <li>service</li>
<li>finalize</li>
</ol>
</s2>
<s2 title="complete">
<p>
- If a <code>Component</code> implements more than one interface the order
of
- the events (compose, configure etc.) follow a specific order. A Component
+ If a component implements more than one interface the order of
+ the events (service, configure etc.) follow a specific order. A component
implementing all above interfaces (including Runnable) will follow these
specific paths.
</p>
@@ -114,7 +114,7 @@
<ol>
<li>constructor <strong>as a consequence of instantiation</strong></li>
<li>contextualize</li>
- <li>compose</li>
+ <li>service or compose</li>
<li>configure</li>
<li>parameterize</li>
<li>initialize</li>
@@ -143,11 +143,11 @@
<s2 title="Phases executed once">
<p>
These lifecycle methods are only called once in the entire life of a
- Component:
+ component:
</p>
<ul>
<li>contextualize</li>
- <li>compose</li>
+ <li>service</li>
<li>configure</li>
<li>parameterize</li>
<li>initialize</li>
@@ -169,9 +169,9 @@
The methods suspend() and resume() are not guaranteed to be called at
all,
even when implemented. They can be called more than once, but only after
one another and between start() and stop(). The reason they exist is so
- the container can notify the Component it needs to come to temporary stop
+ the container can notify the component it needs to come to temporary stop
any operations. The container may need to perform some synchronized
operation
- on one of the Components used by this Component, or it may wish to call
any
+ on one of the components used by this component, or it may wish to call
any
of the following methods, which can also be called zero or more times,
and
only between a suspend() and a resume().
</p>
@@ -186,12 +186,12 @@
<s2 title="The Command Pattern">
<p>
The most advanced, most complicated and most flexible option is to use
- the Command pattern by having your Component implement the Commandable
+ the Command pattern by having your component implement the Commandable
interface. This is experimental; you'll find the Commandable and its
related classes in the excalibur package.
</p>
<p>
- It is recommended that if your Component implements Commandable, it
should
+ It is recommended that if your component implements Commandable, it
should
not implement Executable or Interruptable. When you do choose to combine
the
two, the order in which the different steps must happen is very specific:
<code>
@@ -218,8 +218,8 @@
</p>
<p>
The advantage of using Commands is that you can have multiple processes
running
- outside your Component that can manipulate it. These will run until
completion
- even if you Component has already been disposed of.
+ outside your component that can manipulate it. These will run until
completion
+ even if you component has already been disposed of.
</p>
<p>
You should note that the Command interface we use extends Runnable, which
means
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>