On Sat, 7 Sep 2002 18:54, Paul Hammant wrote: > Is everyone happy with this change? > > I have.. > > 1) dropped the case of most usages of Component. > 2) Refered to Serviceable where Composable was used solely.
+1 > It looks like Reserviceable is missing. There is a Recomposable. I think it was deliberate. We have never really defined what the re* methods do or how they are supposed to act. If you look in our CVS I don't think you will find any instances where any re* is ever used. I suspect it would be good to elide until there is a clear and present need for it and multiple containers implement it. > Thoughts? > > Regards, > > - Paul > > >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]> -- Cheers, Peter Donald ----------------------------------------------------------------------- | I thought there was a knob on the TV to turn up the intelligence. | | There's a knob called "brightness", but it doesn't work. | ----------------------------------------------------------------------- -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
