You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2002/06/09 21:34:59 UTC

cvs commit: jakarta-avalon/src/xdocs/framework reference-containers.xml book.xml reference-the-lifecycle.xml

hammant     2002/06/09 12:34:59

  Modified:    src/xdocs/framework book.xml reference-the-lifecycle.xml
  Added:       src/xdocs/framework reference-containers.xml
  Log:
  More words.
  
  Revision  Changes    Path
  1.14      +1 -0      jakarta-avalon/src/xdocs/framework/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon/src/xdocs/framework/book.xml,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- book.xml	30 May 2002 16:28:17 -0000	1.13
  +++ book.xml	9 Jun 2002 19:34:59 -0000	1.14
  @@ -32,6 +32,7 @@
       <menu-item type="external" id="api-docs" label="API Docs" href="@AVALON_BASE@/api/index.html"/>
       <menu-item type="external" id="diagrams" label="Diagrams Docs" href="diagrams/"/>
       <menu-item label="The Lifecycle" href="reference-the-lifecycle.html"/>
  +    <menu-item label="Containers" href="reference-containers.html"/>
     </menu>
   
     <menu label="For Developers">
  
  
  
  1.2       +43 -24    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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- reference-the-lifecycle.xml	3 May 2002 10:19:53 -0000	1.1
  +++ reference-the-lifecycle.xml	9 Jun 2002 19:34:59 -0000	1.2
  @@ -14,15 +14,25 @@
     <body>
       <s1 title="Introduction">
         <p>
  -        A Component lives within something called a container. Avalon provides an
  -        application that functions as a container for Applications (which are
  -        Components) called <link href="@PHOENIX_BASE@/index.html">Phoenix</link>.
  -        You can also create your own Components that function as a container.
  +        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 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>.
  +        The Avalon project provides an
  +        application that functions as a container for componentized applications 
  +        called <link href="@PHOENIX_BASE@/index.html">Phoenix</link>.  This is not 
  +        exclusive, components adhering to lifecycle interfaces, can be mounted in 
  +        custom containers.  Cocoon and others mounts their own containers for 
  +        components and invoke relevant methods from the lifecycle interfaces.  See
  +        <link href="reference-containers.html">Containers</link>.
  +      </p>
  +      <p>
  +        The lifecyle methods from Avalon Framework sub-project are designed to be
  +        used by just about any component hosted by any container.  Of course, the API
  +        in question may well require additional interfaces for strongly typed 
  +        functionality, but these interfaces should negate the need for any duplication
  +        of effort.
         </p>
       </s1>
       <s1 title="The Lifecycle">
  @@ -35,7 +45,7 @@
         <p>
           It is up to each container to indicate which lifecycle methods it will honor.
           This should be clearly documented together with the description of the
  -        container. Phoenix supports all of the lifecycle methods defined in the
  +        container. A sister project to Phoenix supports all of the lifecycle methods defined in the
           Avalon Framework API.
         </p>
       </s1>
  @@ -65,7 +75,7 @@
           <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
  -        to use it, call it from within start() or another method.
  +        to use it, call it from within start() or another method.  
         </note>
       </s1>
       <s1 title="Phase order">
  @@ -95,30 +105,39 @@
           <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
  -          implementing all above interfaces (including Runnable) will follow this
  -          specific path:
  +          implementing all above interfaces (including Runnable) will follow these
  +          specific paths.
  +        </p>
  +        <p>
  +          Startup Phase:
           </p>
           <ol>
  -          <li>constructor</li>
  +          <li>constructor <strong>as a consequence of instantiation</strong></li>
             <li>contextualize</li>
             <li>compose</li>
             <li>configure</li>
             <li>parameterize</li>
             <li>initialize</li>
             <li>start</li>
  -          <li>
  -            <ol>
  -              <li>suspend</li>
  -              <li>recontextualize</li>
  -              <li>recompose</li>
  -              <li>reconfigure</li>
  -              <li>reparameterize</li>
  -              <li>resume</li>
  -            </ol>
  -          </li>
  +        </ol>
  +        <p>
  +          At various or repeated times after startup:
  +        </p>
  +        <ol>
  +          <li>suspend</li>
  +          <li>recontextualize</li>
  +          <li>recompose</li>
  +          <li>reconfigure</li>
  +          <li>reparameterize</li>
  +          <li>resume</li>
  +        </ol>
  +        <p>
  +          Shutdown Phase:
  +        </p>
  +        <ol>
             <li>stop</li>
             <li>dispose</li>
  -          <li>finalize</li>
  +          <li>finalize <strong>at some indeterminate moment by the garbage collector</strong></li>
           </ol>
         </s2>
         <s2 title="Phases executed once">
  @@ -214,7 +233,7 @@
     <footer>
       <legal>
         Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
  -      $Revision: 1.1 $ $Date: 2002/05/03 10:19:53 $
  +      $Revision: 1.2 $ $Date: 2002/06/09 19:34:59 $
       </legal>
     </footer>
   </document>
  
  
  
  1.1                  jakarta-avalon/src/xdocs/framework/reference-containers.xml
  
  Index: reference-containers.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Avalon Framework - Containers</title>
      <authors>
        <person id="PH" name="Paul Hammant" email="Paul_Hammant@yahoo.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p> 
          There are various container that are aware of the Avalon-Framework interfaces.  
          They either support all or some of the interfaces.  They either add 
          <link href="guide-patterns-ioc.html">Inversion-of-Control</link> type interfaces 
          of their own constituting a specialized API, or do not, making them general 
          containers.
        </p>      
      </s1>      
      <s1 title="General Containers">
        <p>
          These typically run from the command line and are launched via a legacy main() method.
        </p>
        <s2 title="Avalon Phoenix">
          <p>
            This is a sister project to Avalon Framework.  It provides an environment 
            for launching of more or less unrestricted server applications as hosted 
            components.  These comps will be things like web-server, rdbms, EJB-server.
            See <link href="@PHOENIX_BASE@/index.html">Phoenix</link>.
          </p>
        </s2>
      </s1>
      <s1 title="Specialized Containers">
        <p>
          These typically run inside something else and are launched by that something else.
        </p>
        <s2 title="Excalibur Component Manager">
          <p>
            This is used by various applications like Cocoon. Cocoon is run inside the 
            Sun specified servlet context of a web-app.  It is designed for such 
            Servlet-context reuse.  See TODO.
          </p>
        </s2>
        <s2 title="Enterprise Object Broker (EOB)">
          <p>
            The reference implementation of the EJB-replacement container runs on top of 
            Phoenix.  EOB supports a subset of the Avalon Framework interfaces but allows
            RPC publishing of arbitary interfaces apparent in a hosted components object
            model.  See <link href="http://eob.sourceforge.net/">EOB</link>.
          </p>
        </s2>      
      </s1>    
    </body>
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/06/09 19:34:59 $
      </legal>
    </footer>
  </document>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>