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/04/05 17:11:56 UTC

cvs commit: jakarta-avalon-site/docs/excalibur/zip index.html

hammant     02/04/05 07:11:56

  Modified:    docs/excalibur changes.html index.html
  Added:       docs/excalibur/altrmi/api index.html.xml
               docs/excalibur/altrmi client-usage.html
                        connection-listeners.html facades.html
                        generating-proxies.html index.html
                        otherfeatures.html pingers.html publishing.html
                        transports.html
               docs/excalibur/altrmi/images add.jpg facades.jpg fix.jpg
                        header.gif jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/baxter/api index.html.xml
               docs/excalibur/baxter/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/baxter index.html
               docs/excalibur/bzip2/api index.html.xml
               docs/excalibur/bzip2/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/bzip2 index.html
               docs/excalibur/cache/api index.html.xml
               docs/excalibur/cache/images add.jpg cache.png fix.jpg
                        header.gif jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/cache index.html
               docs/excalibur/cli index.html
               docs/excalibur/collections/api index.html.xml
               docs/excalibur/collections/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/collections index.html
               docs/excalibur/command/api index.html.xml
               docs/excalibur/command/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/command index.html
               docs/excalibur/component/api index.html.xml
               docs/excalibur/component/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/component index.html
               docs/excalibur/concurrent/api index.html.xml
               docs/excalibur/concurrent/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/concurrent index.html
               docs/excalibur/datasource/api index.html.xml
               docs/excalibur/datasource examples-jdbcdatasource.html
                        index.html
               docs/excalibur/datasource/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/event/api index.html.xml
               docs/excalibur/event/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/event index.html
               docs/excalibur/extension/api index.html.xml
               docs/excalibur/extension/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/extension index.html
               docs/excalibur/il8n/api index.html.xml
               docs/excalibur/il8n/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/il8n index.html
               docs/excalibur/io index.html
               docs/excalibur/lang index.html
               docs/excalibur/logger index.html
               docs/excalibur/naming/api index.html.xml
               docs/excalibur/naming/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/naming index.html
               docs/excalibur/pool/api index.html.xml
               docs/excalibur/pool/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/pool index.html
               docs/excalibur/property/api index.html.xml
               docs/excalibur/property/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/property index.html
               docs/excalibur/proxy/api index.html.xml
               docs/excalibur/proxy/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/proxy index.html
               docs/excalibur/source/api index.html.xml
               docs/excalibur/source/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/source index.html
               docs/excalibur/tar/api index.html.xml
               docs/excalibur/tar/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/tar index.html
               docs/excalibur/testcase/api index.html.xml
               docs/excalibur/testcase/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/testcase index.html
               docs/excalibur/thread/api index.html.xml
               docs/excalibur/thread/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/thread index.html
               docs/excalibur/util/api index.html.xml
               docs/excalibur/util/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/util index.html
               docs/excalibur/xmlbundle/api index.html.xml
               docs/excalibur/xmlbundle/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/xmlbundle index.html
               docs/excalibur/zip/api index.html.xml
               docs/excalibur/zip/images add.jpg fix.jpg header.gif
                        jakarta-logo.gif remove.jpg update.jpg
               docs/excalibur/zip index.html
  Log:
  interim cut of excalibur site docs
  
  Revision  Changes    Path
  1.15      +56 -49    jakarta-avalon-site/docs/excalibur/changes.html
  
  Index: changes.html
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/changes.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- changes.html	26 Feb 2002 08:17:19 -0000	1.14
  +++ changes.html	5 Apr 2002 15:11:45 -0000	1.15
  @@ -21,10 +21,7 @@
   <font face="arial,helvetica,sanserif">
   <br>
   <br>
  -<a href=""><font size="+1" color="#F3510C">Jakarta main</font></a>
  -<br>
  -<br>
  -<a href="../index.html"><font size="+1" color="#F3510C">Avalon main</font></a>
  +<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
   <br>
   <br>
   <font size="+1" color="#000000">About</font>
  @@ -40,92 +37,100 @@
   <li>
   <a href="http://jakarta.apache.org/builds/jakarta-avalon/release/excalibur"><font size="-1">Download</font></a>
   </li>
  -<li>
  -<a href="http://jakarta.apache.org/avalon/excalibur/api/index.html"><font size="-1">API Docs</font></a>
  -</li>
   </ul>
   </font>
   <br>
   <br>
  -<font size="+1" color="#000000">Released Components</font>
  +<font size="+1" color="#000000">Sub Projects</font>
   <br>
   <font size="-1">
   <ul>
   <li>
  -<a href="cli.html"><font size="-1">Command-Line Inspection</font></a>
  +<a href="altrmi/index.html"><font size="-1">AltRMI</font></a>
   </li>
   <li>
  -<a href="collections.html"><font size="-1">Collections</font></a>
  +<a href="bzip2/index.html"><font size="-1">BZip2</font></a>
   </li>
   <li>
  -<a href="component.html"><font size="-1">Component Utilities</font></a>
  +<a href="baxter/index.html"><font size="-1">Baxter</font></a>
   </li>
   <li>
  -<a href="concurrent.html"><font size="-1">Concurrent Threading</font></a>
  +<a href="cli/index.html"><font size="-1">CLI</font></a>
   </li>
   <li>
  -<a href="datasource.html"><font size="-1">DataSource Management</font></a>
  +<a href="cache/index.html"><font size="-1">Cache</font></a>
   </li>
   <li>
  -<a href="i18n.html"><font size="-1">Internationalization</font></a>
  +<a href="collections/index.html"><font size="-1">Collections</font></a>
   </li>
   <li>
  -<a href="io.html"><font size="-1">IO Utilities</font></a>
  +<a href="command/index.html"><font size="-1">Command</font></a>
   </li>
   <li>
  -<a href="logger.html"><font size="-1">LogKit Management</font></a>
  +<a href="component/index.html"><font size="-1">Component</font></a>
   </li>
   <li>
  -<a href="monitor.html"><font size="-1">Resource Monitoring</font></a>
  +<a href="concurrent/index.html"><font size="-1">Concurrent</font></a>
   </li>
   <li>
  -<a href="pool.html"><font size="-1">Pooling Support</font></a>
  +<a href="datasource/index.html"><font size="-1">DataSource</font></a>
   </li>
   <li>
  -<a href="property.html"><font size="-1">Property Utilities</font></a>
  +<a href="event/index.html"><font size="-1">Event</font></a>
   </li>
   <li>
  -<a href="proxy.html"><font size="-1">Proxy Implementation</font></a>
  +<a href="extension/index.html"><font size="-1">Extension</font></a>
   </li>
  -</ul>
  -</font>
  -<br>
  -<br>
  -<font size="+1" color="#000000">Components under Development</font>
  -<br>
  -<font size="-1">
  -<ul>
   <li>
  -<a href="cache.html"><font size="-1">Cache Support</font></a>
  +<a href="fortress/index.html"><font size="-1">Fortress</font></a>
   </li>
   <li>
  -<a href="container.html"><font size="-1">Container Management</font></a>
  +<a href="io/index.html"><font size="-1">I/O</font></a>
   </li>
   <li>
  -<a href="extension.html"><font size="-1">Optional Package Management</font></a>
  +<a href="il8n/index.html"><font size="-1">Internationalization</font></a>
   </li>
   <li>
  -<a href="xmlbundle.html"><font size="-1">XML Resource Bundle</font></a>
  +<a href="lang/index.html"><font size="-1">Lang</font></a>
   </li>
   <li>
  -<a href="pipeline.html"><font size="-1">Piplining Support</font></a>
  +<a href="logger/index.html"><font size="-1">Logger</font></a>
   </li>
   <li>
  -<a href="thread.html"><font size="-1">Thread Pool Management</font></a>
  +<a href="monitor/index.html"><font size="-1">Monitor</font></a>
   </li>
   <li>
  -<a href="source.html"><font size="-1">Source Resolving</font></a>
  +<a href="naming/index.html"><font size="-1">Naming</font></a>
  +</li>
  +<li>
  +<a href="pool/index.html"><font size="-1">Pool</font></a>
   </li>
  -</ul>
  -</font>
  -<br>
  -<br>
  -<font size="+1" color="#000000">Example Applications</font>
  -<br>
  -<font size="-1">
  -<ul>
   <li>
  -<a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
  +<a href="property"><font size="-1">Property Utils</font></a>
  +</li>
  +<li>
  +<a href="proxy/index.html"><font size="-1">Proxy</font></a>
  +</li>
  +<li>
  +<a href="source/index.html"><font size="-1">Source Resolver</font></a>
  +</li>
  +<li>
  +<a href="tar/index.html"><font size="-1">TAR</font></a>
  +</li>
  +<li>
  +<a href="testcase/index.html"><font size="-1">Testcase</font></a>
  +</li>
  +<li>
  +<a href="thread/index.html"><font size="-1">Thread</font></a>
  +</li>
  +<li>
  +<a href="util/index.html"><font size="-1">Util</font></a>
  +</li>
  +<li>
  +<a href="xmlbundle/index.html"><font size="-1">XMLBundle</font></a>
  +</li>
  +<li>
  +<a href="zip/index.html"><font size="-1">ZIP</font></a>
   </li>
   </ul>
   </font>
  @@ -134,14 +139,12 @@
   </font></td><td align="left" valign="top" width="*">
   <title>Revision History</title>
   <center>
  -<table width="80%">
  +<table width="100%">
   <tr>
  -<td bgcolor="#F3DD61">
  -<br>
  +<td bgcolor="#99aabb">
   <center>
  -<b><font face="arial,helvetica,sanserif" color="#000000">Revision History</font></b>
  +<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Revision History</font></b>
   </center>
  -<br>
   </td>
   </tr>
   </table>
  @@ -163,6 +166,10 @@
         Added XML Parser role and implementation, EntityResolver role and
         some misc. XML support (from Cocoon).
        (CZ)</li>
  +<li>
  +<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
  +      Broken Excalibur from single jar into multiple smaller jars.
  +     (Whole Team)</li>
   </ul>
   </font></td>
   </tr>
  
  
  
  1.12      +118 -54   jakarta-avalon-site/docs/excalibur/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/index.html,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- index.html	26 Feb 2002 08:17:19 -0000	1.11
  +++ index.html	5 Apr 2002 15:11:45 -0000	1.12
  @@ -1,7 +1,7 @@
   <html>
   <head>
   <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  -<title>Avalon Excalibur</title>
  +<title>Excalibur - Overview</title>
   </head>
   <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
   <table border="0" cellpadding="0" cellspacing="0" width="100%">
  @@ -21,10 +21,7 @@
   <font face="arial,helvetica,sanserif">
   <br>
   <br>
  -<a href=""><font size="+1" color="#F3510C">Jakarta main</font></a>
  -<br>
  -<br>
  -<a href="../index.html"><font size="+1" color="#F3510C">Avalon main</font></a>
  +<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
   <br>
   <br>
   <font size="+1" color="#000000">About</font>
  @@ -40,123 +37,157 @@
   <li>
   <a href="http://jakarta.apache.org/builds/jakarta-avalon/release/excalibur"><font size="-1">Download</font></a>
   </li>
  -<li>
  -<a href="http://jakarta.apache.org/avalon/excalibur/api/index.html"><font size="-1">API Docs</font></a>
  -</li>
   </ul>
   </font>
   <br>
   <br>
  -<font size="+1" color="#000000">Released Components</font>
  +<font size="+1" color="#000000">Sub Projects</font>
   <br>
   <font size="-1">
   <ul>
   <li>
  -<a href="cli.html"><font size="-1">Command-Line Inspection</font></a>
  +<a href="altrmi/index.html"><font size="-1">AltRMI</font></a>
   </li>
   <li>
  -<a href="collections.html"><font size="-1">Collections</font></a>
  +<a href="bzip2/index.html"><font size="-1">BZip2</font></a>
   </li>
   <li>
  -<a href="component.html"><font size="-1">Component Utilities</font></a>
  +<a href="baxter/index.html"><font size="-1">Baxter</font></a>
   </li>
   <li>
  -<a href="concurrent.html"><font size="-1">Concurrent Threading</font></a>
  +<a href="cli/index.html"><font size="-1">CLI</font></a>
   </li>
   <li>
  -<a href="datasource.html"><font size="-1">DataSource Management</font></a>
  +<a href="cache/index.html"><font size="-1">Cache</font></a>
   </li>
   <li>
  -<a href="i18n.html"><font size="-1">Internationalization</font></a>
  +<a href="collections/index.html"><font size="-1">Collections</font></a>
   </li>
   <li>
  -<a href="io.html"><font size="-1">IO Utilities</font></a>
  +<a href="command/index.html"><font size="-1">Command</font></a>
   </li>
   <li>
  -<a href="logger.html"><font size="-1">LogKit Management</font></a>
  +<a href="component/index.html"><font size="-1">Component</font></a>
   </li>
   <li>
  -<a href="monitor.html"><font size="-1">Resource Monitoring</font></a>
  +<a href="concurrent/index.html"><font size="-1">Concurrent</font></a>
   </li>
   <li>
  -<a href="pool.html"><font size="-1">Pooling Support</font></a>
  +<a href="datasource/index.html"><font size="-1">DataSource</font></a>
   </li>
   <li>
  -<a href="property.html"><font size="-1">Property Utilities</font></a>
  +<a href="event/index.html"><font size="-1">Event</font></a>
   </li>
   <li>
  -<a href="proxy.html"><font size="-1">Proxy Implementation</font></a>
  +<a href="extension/index.html"><font size="-1">Extension</font></a>
   </li>
  -</ul>
  -</font>
  -<br>
  -<br>
  -<font size="+1" color="#000000">Components under Development</font>
  -<br>
  -<font size="-1">
  -<ul>
   <li>
  -<a href="cache.html"><font size="-1">Cache Support</font></a>
  +<a href="fortress/index.html"><font size="-1">Fortress</font></a>
   </li>
   <li>
  -<a href="container.html"><font size="-1">Container Management</font></a>
  +<a href="io/index.html"><font size="-1">I/O</font></a>
   </li>
   <li>
  -<a href="extension.html"><font size="-1">Optional Package Management</font></a>
  +<a href="il8n/index.html"><font size="-1">Internationalization</font></a>
   </li>
   <li>
  -<a href="xmlbundle.html"><font size="-1">XML Resource Bundle</font></a>
  +<a href="lang/index.html"><font size="-1">Lang</font></a>
   </li>
   <li>
  -<a href="pipeline.html"><font size="-1">Piplining Support</font></a>
  +<a href="logger/index.html"><font size="-1">Logger</font></a>
   </li>
   <li>
  -<a href="thread.html"><font size="-1">Thread Pool Management</font></a>
  +<a href="monitor/index.html"><font size="-1">Monitor</font></a>
   </li>
   <li>
  -<a href="source.html"><font size="-1">Source Resolving</font></a>
  +<a href="naming/index.html"><font size="-1">Naming</font></a>
   </li>
  -</ul>
  -</font>
  -<br>
  -<br>
  -<font size="+1" color="#000000">Example Applications</font>
  -<br>
  -<font size="-1">
  -<ul>
   <li>
  -<a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
  +<a href="pool/index.html"><font size="-1">Pool</font></a>
  +</li>
  +<li>
  +<a href="property"><font size="-1">Property Utils</font></a>
  +</li>
  +<li>
  +<a href="proxy/index.html"><font size="-1">Proxy</font></a>
  +</li>
  +<li>
  +<a href="source/index.html"><font size="-1">Source Resolver</font></a>
  +</li>
  +<li>
  +<a href="tar/index.html"><font size="-1">TAR</font></a>
  +</li>
  +<li>
  +<a href="testcase/index.html"><font size="-1">Testcase</font></a>
  +</li>
  +<li>
  +<a href="thread/index.html"><font size="-1">Thread</font></a>
  +</li>
  +<li>
  +<a href="util/index.html"><font size="-1">Util</font></a>
  +</li>
  +<li>
  +<a href="xmlbundle/index.html"><font size="-1">XMLBundle</font></a>
  +</li>
  +<li>
  +<a href="zip/index.html"><font size="-1">ZIP</font></a>
   </li>
   </ul>
   </font>
   <br>
   <br>
   </font></td><td align="left" valign="top" width="*">
  -<title>Avalon Excalibur</title>
  +<title>Excalibur - Overview</title>
   <center>
  -<table width="80%">
  +<table width="100%">
   <tr>
  -<td bgcolor="#F3DD61">
  -<br>
  +<td bgcolor="#99aabb">
   <center>
  -<b><font face="arial,helvetica,sanserif" color="#000000">Avalon Excalibur</font></b>
  +<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur - Overview</font></b>
   </center>
  -<br>
   </td>
   </tr>
   </table>
   </center>
   <br>
   <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  -<p>
  -<a href="mailto:"></a>
  +<p>by <a href="mailto:avalon-dev@jakarta.apache.org">Avalon Documentation Team</a>
   </p>
   </font><font face="arial,helvetica,sanserif" color="#000000"></font>
   <br>
   <div align="right">
   <table cellspacing="0" cellpadding="2" border="0" width="100%">
   <tr>
  -<td bgcolor="#525D76"><font face="arial,helvetica,sanserif" color="#ffffff" size="+1"><b>Assisting in Development</b></font></td>
  +<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Refactoring!!</b></font></td>
  +</tr>
  +<tr>
  +<td><font face="arial,helvetica,sanserif" color="#000000">
  +<br>  
  +      
  +<div align="center">
  +<table cellspacing="2" cellpadding="2" border="1">
  +<tr>
  +<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
  +        There is a general reorganication of JAR files for Excalibur going 
  +        on at the moment (early April 2002).  This will be complete in a 
  +        couple of weeks.  For now, all the old docs have been migrated
  +        to new locations in the website, and will be joined by new pages
  +        shortly.  This is just a preview of the pages, and much will 
  +        change day by day.
  +      </font></td>
  +</tr>
  +</table>
  +</div>
  +    
  +</font></td>
  +</tr>
  +</table>
  +</div>
  +<br>
  +<div align="right">
  +<table cellspacing="0" cellpadding="2" border="0" width="100%">
  +<tr>
  +<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
   </tr>
   <tr>
   <td><font face="arial,helvetica,sanserif" color="#000000">
  @@ -191,6 +222,39 @@
   </tr>
   </table>
   </div>
  +    
  +</font></td>
  +</tr>
  +</table>
  +</div>
  +<br>
  +<div align="right">
  +<table cellspacing="0" cellpadding="2" border="0" width="100%">
  +<tr>
  +<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Excalibur Sub-Projects</b></font></td>
  +</tr>
  +<tr>
  +<td><font face="arial,helvetica,sanserif" color="#000000">
  +<br>
  +      
  +<div align="right">
  +<table cellspacing="0" cellpadding="2" border="0" width="99%">
  +<tr>
  +<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>AltRMI - Alternative to RMI</b></font></td>
  +</tr>
  +<tr>
  +<td><font face="arial,helvetica,sanserif" color="#000000">
  +<br>
  +        
  +<p align="justify">
  +          This is simpler, though controvercial, alternative to RMI.  
  +        </p>
  +      
  +</font></td>
  +</tr>
  +</table>
  +</div>
  +<br>
       
   </font></td>
   </tr>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur AltRMI - Overview </title>
      <authors>
        <person name="Paul Hammant" email="Paul_Hammant@yahoo.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          AltRMI is a from-scratch replacement for RMI.  It has a number of different features 
          that make it easier to use.  It tries as far as possible to be transparent in use.
        </p>
        <warn>
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
        </warn>      
      </s1>          
      <s1 title="Feature Differences">
        <p>                
          Some good, some bad:
  	<ul>
  	  <li>It transports normal Java interfaces (no need to extend java.rmi.Remote)</li>
  	  <li>None of the remote capable methods have to throw java.rmi.RemoteException.</li>
  	  <li>Compared to RMI in use for EJB, it does not transport over CORBA (yet).</li>
  	</ul>     
        </p>
      </s1>
      <s1 title="Connection Robustness">    
        <p>
          Given that there are  <link href="http://java.sun.com/people/jag/Fallacies.html">eight 
          fallacies of distributed computing</link>, we feel it important to show that AltRMI 
          is not ignoring these issues.<br/>	
    	  The principal benefit for a developer making beans or an application server is 
    	  that RemoteException is missing.  That does not mean that communications failure 
    	  is ignored.  AltRMI still illustrates communication failure via 
    	  AltrmiInvocationException which a subclass of RuntimeException.  This basically 
    	  allows the exception to be thrown, but not specified on each method (like 
    	  RemoteException does).  Many feel that allowing the bean developer to 
    	  ignore the robustness issues is a mistake.  We think not given the following.
    	<ol>
    	  <li>The EOB Container knows about AltrmiInvocationException.</li>
  	  <li>AltRMI has configurable policies that can help re-establish connection whilst in use.</li>
  	  <li>Standard handling of RemoteException sucks.</li>
  	  <li>It is difficult in EJB, in terms of coverage, to test your huge amounts of 
  	  RemoteException handling code.</li>
     	  <li>Most web-app uses of beans have a single "handler" place where pertinent 
     	  exceptions are already caught.</li>
  	</ol>
        </p>      
        <s2 title="1. The EOB Container knows about AltrmiInvocationException">            
          <p>
            A lot of beans coding is 'bean invokes method in bean which invokes method in bean'.  In 
            this case there are several places in the invocation stack where the container's logic 
            is delegating between beans.  Container could easily handle failing connections and take 
            multiple actions: re-establish report, redirect, abend services or server.  If there is 
            a configurable policy for such events that may include the invoking of methods in, 
            say, 'contingency' beans.
          </p>
        </s2>
        <s2 title="2. AltRMI has configurable policies that can help reestablish connection whilst in use.">    
          <p>
            AltRMI has a pluggable architecture for re-establishing connections (and reporting timings 
            etc).  Whilst in the middle of an invocation, if the connection is lost, AltRMI can try to 
            re-establish the connection and complete the method invocation normally.  A delay would of 
            course be encountered, but if administrators are watching the logs, then they can determine 
            where failures are happening and what to do long term about it.  Programmed policies 
            (configured in EOB) could be "try perpetually to reconnect", "try five times only, 
            one a second", "fail immediately".
          </p>            
        </s2>
        <s2 title="3. Standard handling of RemoteException sucks.">    
          <p>
           Referring to the various ways EJB teams handle RemoteException, in the thousands of places 
           in a typical J2EE solution where it is thrown, different solutions are...<br/>
            <s3 title="3.1. Declare throws RemoteException on every applicable method.">
              <p>
  	      That means that it can often arrive back at the container.  The container always reports 
  	      it verbosely.<br/>
  	    </p>
  	  </s3>
  	  <s3 title="3.2. Have a standard catch block and pass the RemoteException to a standard handler 
  	  method that does something with it.">
  	    <p>
  	       That something can often by turn it into a custom derivative of RuntimeException as well 
  	       as reporting it.  This strategy makes you wonder why it was not a derivative of 
  	       RuntimeException in the first place.<br/>
  	    </p>
  	  </s3>
  	  <s3 title="3.3. Try the failing method call again, or n times.">
  	    <p>
                Clutters your code with reams of retry logic.  What if it still fails?  Combine this 
                with (1) or (2) as well?
              </p>
  	  </s3>              
          </p>      
        </s2>
        <s2 title="4. It is difficult in EJB, in terms of coverage, to test your huge amounts of 
        RemoteException handling code">    
          <p>
            Your EJB team has developed a huge amount of code for the business logic, and consequentually 
            loads of code concerning RemoteException.  Question how do they test the "connection failing" 
            logic?  Do they rip out cables while the machine is in use?  No that does not yield good 
            coverage.  Do they have test cases and mock beans that throw RemoteException?  Yes probably, 
            but that is an artificial connection outage.  However most teams do not test more than a 
            single case, and are happy for the same RemoteException handler block to be used all over 
            the place.
          </p>      
        </s2>
        <s2 title="5. Most web-app uses of beans have a single 'handler' place where pertinent 
     	  exceptions are already caught.">    
          <p>
            Webapps that use multiple beans (assuming a decent MVC separation or a framework like 
            Velocity) already have a place where central exception handling is going on.  With 
            AltRMI, you can catch AltrmiInvocationException where you feel is fit.  EJB teams that 
            choose to have throws RemoteException on all methods (percolating it up the stack) probably 
            also choose to finally handle it centrally. Like so ...
          </p>      
  <source>
  public Template handleRequest(HttpServletRequest req, HttpServletResponse resp, Context ctx) {
      Template template = null;
      String templateName = null;
      HttpSession sess = req.getSession();
      sess.setAttribute(ERR_MSG_TAG, "all ok");
      try {
          try {
              // Process the command
              templateName = processRequest(req, resp, ctx);
              // Get the template
              template = getTemplate(templateName);
          } catch (AltrmiInvocationException aie) {
              template = getTemplate("commfailure.vm");
          }
      } catch (ResourceNotFoundException rnfe) {
          // blah blah
      } catch (ParseErrorException pee) {
          // blah blah
      } catch (Exception e) {
          // blah blah
      }
      return template;
  }
  </source>
        </s2>    
      </s1>
      <s1 title="Things yet to do">    
        <p>
          There is an ongoing plan for features to be added to AltRMI.  On the 
          transports page, there are some related future requirements listed.  Below are 
          the big features yet to do.
        </p>    
        <s2 title="Callback">
          <p>
            We have yet to implement callbacks.  We need to make the communication 
            asynchronous to do this.  We have toyed with standard APIs like BEEP but
            find the performance is not quite good enough.  We may not need the
            sustained power of BEEP as our needs are for short bursts rather than
            multiplexing sustained streams.
          </p>
        </s2>
        <s2 title="True dynamic creation of Proxies">
          <p>
            We curently use javac to compile stubs from source.  It feels natuaral to use
            this technique as we think in terms of the Java the language.  We know that
            the main interface to Javac is deprecated in JDK1.4 and feel we should move to
            some less static and more beanlike tool.  An obvious choice would be BCEL, but we
            find it too hard to work with (it being closer to bytecode machine than the Java
            language).
          </p>
        </s2>  
      </s1>    
    </body>
    <footer>
      <legal>
        Copyright (c) 1999-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:45 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/client-usage.html
  
  Index: client-usage.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Client Usage</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Client Usage</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Client Usage</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          On the client you can choose to use JNDI or AltRMI's own clases to lookup a 
          remote interface.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>JNDI</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          If you are using Ant for builds, then you can use the 'altrmiproxies' taskdef 
          to make proxies in advance of use.
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
  
  Hashtable env = new Hashtable();
  env.put(
      Context.INITIAL_CONTEXT_FACTORY,
      "org.apache.excalibur.altrmi.client.impl.naming.DefaultAltrmiInitialContextFactory");
  env.put(Context.PROVIDER_URL, "altrmi://localhost:1235/SocketCustomStream");
  Context ctx = new InitialContext(env);
  TestInterface ti = (TestInterface) ctx.lookup("Hello");
  
  </pre>
  </td>
  </tr>
  </table>
  </div>
        
  </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Custom AltRMI lookup</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          Directly using AltRMI classes, you can lookup the same interface.
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
  
  AltrmiFactory af = new ClientClassAltrmiFactory(false);
  af.setHostContext(new SocketCustomStreamHostContext("127.0.0.1", 1235));
  TestInterface ti = (TestInterface) af.lookup("Hello");
  
  </pre>
  </td>
  </tr>
  </table>
  </div>
        
  </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/connection-listeners.html
  
  Index: connection-listeners.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Connection Listener</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Connection Listener</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Connection Listener</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Conenction listener can monitor each method invokation (affects performance) 
          and handle service suspensions and abnormal ends.  The connection listener 
          can decide how to do the reconnection andhow to obey the susepension.  In 
          theory a method call can just be left blocking until the servce is 
          reconnected (after abend) or resumed after suspension.  Connection listeners
          run on the client side.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Connection Listener types</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          Here are the types of connection listener implemented so far.
        </p>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>DefaultConnectionListener</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
          
  <p align="justify">
            This listener does not log method calls and tries ten times to 
            reconnect the the abended service in the case of failure.  After that
            it throws an AltrmiInvocationException.  In the case of suspension
            it honours the suggestion of the server to wait n seconds before
            trying again.
          </p>
          
  <p align="justify"> 
            This listener is the default and will be used if none other is 
            specified.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/facades.html
  
  Index: facades.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Facade Design</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Facade Design</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Facade Design</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          AltRMI publishes objects via their interfaces.  It does not replicate all objects 
          on the client side, it generates proxies for those defines as facades.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Facades</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          Consider a whether system that models weather stations (fixed and mobile) and 
          the meterologists that staff the stations.....
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="0">
  <tr>
  <td bgcolor="#525D76"><font size="0" color="#ffffff">Facade Diagram</font></td>
  </tr>
          
          
  <tr>
  <td><img src="images/facades.jpg" alt="Paul Hammant, 2002" border="0"></td>
  </tr>
  <tr>
  <td><font size="-1">
  <ul>
  <li>Paul Hammant, 2002</li>
  </ul>
  </font></td>
  </tr>
        
  </table>
  </div>   
        
  <p align="justify">
          The interfaces and the class on the right of the right of the green line are 'interface' 
          or API, and we want them to exist as is on the client side for general use.  Things on the 
          left are the implementation classes and they exist on theserver side only.  Though not 
          shown here, it would be easiest to have them is a seperate package.  Representing those 
          objects on the client side are generated proxies.  Those proxies are pass-by-reference
          boudaries but are castable to any of the interfaces they represent.  There is one 
          pass-by-value object and that is Coordinate.  It should be serializable and final 
          (Immutable pattern).        
        </p>  
        
  <p align="justify">
          The principle point of entry into the system from the client point of view is 
          'WeatherSystem'.  The mechanism of entry is a lookup on an agreed name. We recommend
          'WeatherSystem' or 'WeatherSystem_1.0' etc.
        </p>      
        
  <p align="justify">  
          Once the client has a handle on the WetherSystem normal Java tarversals are possibleL
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
  WeatherSystem ws = getWeatherSystem(); // some thing that does the JNDI lookup.
  // yes we know the following could throw NPEs or Array Index issues.
  String aName = ws.getWeatherStation("ArcticOne").getMeteorologists()[0].getName();
  </pre>
  </td>
  </tr>
  </table>
  </div>
         To generate the correct proxies for the above, you would want to have the interface as 
         'WeatherSystem' and additional-facades of 'Meteorologist' and 'WeatherStation'
        </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/generating-proxies.html
  
  Index: generating-proxies.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Facade Design</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Facade Design</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Facade Design</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          You can choose to generate your procies in advance of use, or to defer generation 
          until runtime.  As the generation requires javac in tools.jar (multi megabyte), you 
          have to decide whether your runtime environment or distribution can support or 
          legally distribute it.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Generation in advance </b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          If you are using Ant for builds, then you can use the 'altrmiproxies' taskdef to make 
          proxies in advance of use.
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
  
  &lt;altrmiproxies genname="Hello" srcgendir="${build.home}/genjava" 
      classgendir="${build.home}/classes2" verbose="true"
      interfaces="org.apache.excalibur.altrmi.test.TestInterface" 
      additionalfacades="org.apache.excalibur.altrmi.test.TestInterface2"&gt;
    &lt;classpath&gt;
      &lt;pathelement location="${build.home}/classes"/&gt;
    &lt;/classpath&gt;
  &lt;/altrmiproxies&gt;   
  
  </pre>
  </td>
  </tr>
  </table>
  </div>
         All you have to do after that is place them in a jar for later use.  That jar could be 
         client or server-side, thus classes can be retrieved from the server for use on the client 
         or preexist in clients environment.
        </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Generation at runtime</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          If you are using Ant for builds, then you can use the 'altrmiproxies' taskdef to make 
          proxies in advance of use.
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
  
  DynamicGeneratorClassRetriever dgcr = new DynamicGeneratorClassRetriever(mGenJarURL);
  
  PublicationDescription pd = new PublicationDescription(TestInterface.class, new Class[] { TestInterface2 });
  dgcr.generate("Hello", pd, this.getClass().getClassLoader());
  
  </pre>
  </td>
  </tr>
  </table>
  </div>
         This by implication means server-side classes, so the above is code in the server. It also 
         has a performance hit at time of first retrieval.
        </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI - Overview </title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI - Overview </title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI - Overview </font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          AltRMI is a from-scratch replacement for RMI.  It has a number of different features 
          that make it easier to use.  It tries as far as possible to be transparent in use.
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td bgcolor="#c0c0c0"><font size="-1" color="#023264">
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
        </font></td>
  </tr>
  </table>
  </div>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Feature Differences</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          Some good, some bad:
  	<ul>
  	  
  <li>It transports normal Java interfaces (no need to extend java.rmi.Remote)</li>
  	  
  <li>None of the remote capable methods have to throw java.rmi.RemoteException.</li>
  	  
  <li>Compared to RMI in use for EJB, it does not transport over CORBA (yet).</li>
  	
  </ul>     
        
  </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Connection Robustness</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
        
  <p align="justify">
          Given that there are  <a href="http://java.sun.com/people/jag/Fallacies.html">eight 
          fallacies of distributed computing</a>, we feel it important to show that AltRMI 
          is not ignoring these issues.<p align="justify"></p>	
    	  The principal benefit for a developer making beans or an application server is 
    	  that RemoteException is missing.  That does not mean that communications failure 
    	  is ignored.  AltRMI still illustrates communication failure via 
    	  AltrmiInvocationException which a subclass of RuntimeException.  This basically 
    	  allows the exception to be thrown, but not specified on each method (like 
    	  RemoteException does).  Many feel that allowing the bean developer to 
    	  ignore the robustness issues is a mistake.  We think not given the following.
    	<ol>
    	  
  <li>The EOB Container knows about AltrmiInvocationException.</li>
  	  
  <li>AltRMI has configurable policies that can help re-establish connection whilst in use.</li>
  	  
  <li>Standard handling of RemoteException sucks.</li>
  	  
  <li>It is difficult in EJB, in terms of coverage, to test your huge amounts of 
  	  RemoteException handling code.</li>
     	  
  <li>Most web-app uses of beans have a single "handler" place where pertinent 
     	  exceptions are already caught.</li>
  	
  </ol>
        
  </p>      
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>1. The EOB Container knows about AltrmiInvocationException</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            A lot of beans coding is 'bean invokes method in bean which invokes method in bean'.  In 
            this case there are several places in the invocation stack where the container's logic 
            is delegating between beans.  Container could easily handle failing connections and take 
            multiple actions: re-establish report, redirect, abend services or server.  If there is 
            a configurable policy for such events that may include the invoking of methods in, 
            say, 'contingency' beans.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>2. AltRMI has configurable policies that can help reestablish connection whilst in use.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
            AltRMI has a pluggable architecture for re-establishing connections (and reporting timings 
            etc).  Whilst in the middle of an invocation, if the connection is lost, AltRMI can try to 
            re-establish the connection and complete the method invocation normally.  A delay would of 
            course be encountered, but if administrators are watching the logs, then they can determine 
            where failures are happening and what to do long term about it.  Programmed policies 
            (configured in EOB) could be "try perpetually to reconnect", "try five times only, 
            one a second", "fail immediately".
          </p>            
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>3. Standard handling of RemoteException sucks.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
           Referring to the various ways EJB teams handle RemoteException, in the thousands of places 
           in a typical J2EE solution where it is thrown, different solutions are...<p align="justify"></p>
            
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="98%">
  <tr>
  <td bgcolor="e8f8ff"><font face="arial,helvetica,sanserif" color="#000000" size="-NaN"><b>3.1. Declare throws RemoteException on every applicable method.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
  <p align="justify">
  	      That means that it can often arrive back at the container.  The container always reports 
  	      it verbosely.<p align="justify"></p>
  	    
  </p>
  	  
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  	  
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="98%">
  <tr>
  <td bgcolor="e8f8ff"><font face="arial,helvetica,sanserif" color="#000000" size="-NaN"><b>3.2. Have a standard catch block and pass the RemoteException to a standard handler     method that does something with it.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
  	    
  <p align="justify">
  	       That something can often by turn it into a custom derivative of RuntimeException as well 
  	       as reporting it.  This strategy makes you wonder why it was not a derivative of 
  	       RuntimeException in the first place.<p align="justify"></p>
  	    
  </p>
  	  
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  	  
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="98%">
  <tr>
  <td bgcolor="e8f8ff"><font face="arial,helvetica,sanserif" color="#000000" size="-NaN"><b>3.3. Try the failing method call again, or n times.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
  	    
  <p align="justify">
                Clutters your code with reams of retry logic.  What if it still fails?  Combine this 
                with (1) or (2) as well?
              </p>
  	  
  </font></td>
  </tr>
  </table>
  </div>
  <br>              
          
  </p>      
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>4. It is difficult in EJB, in terms of coverage, to test your huge amounts of        RemoteException handling code</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
            Your EJB team has developed a huge amount of code for the business logic, and consequentually 
            loads of code concerning RemoteException.  Question how do they test the "connection failing" 
            logic?  Do they rip out cables while the machine is in use?  No that does not yield good 
            coverage.  Do they have test cases and mock beans that throw RemoteException?  Yes probably, 
            but that is an artificial connection outage.  However most teams do not test more than a 
            single case, and are happy for the same RemoteException handler block to be used all over 
            the place.
          </p>      
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>5. Most web-app uses of beans have a single 'handler' place where pertinent        exceptions are already caught.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
            Webapps that use multiple beans (assuming a decent MVC separation or a framework like 
            Velocity) already have a place where central exception handling is going on.  With 
            AltRMI, you can catch AltrmiInvocationException where you feel is fit.  EJB teams that 
            choose to have throws RemoteException on all methods (percolating it up the stack) probably 
            also choose to finally handle it centrally. Like so ...
          </p>      
  
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
  public Template handleRequest(HttpServletRequest req, HttpServletResponse resp, Context ctx) {
      Template template = null;
      String templateName = null;
      HttpSession sess = req.getSession();
      sess.setAttribute(ERR_MSG_TAG, "all ok");
      try {
          try {
              // Process the command
              templateName = processRequest(req, resp, ctx);
              // Get the template
              template = getTemplate(templateName);
          } catch (AltrmiInvocationException aie) {
              template = getTemplate("commfailure.vm");
          }
      } catch (ResourceNotFoundException rnfe) {
          // blah blah
      } catch (ParseErrorException pee) {
          // blah blah
      } catch (Exception e) {
          // blah blah
      }
      return template;
  }
  </pre>
  </td>
  </tr>
  </table>
  </div>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>    
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Things yet to do</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
        
  <p align="justify">
          There is an ongoing plan for features to be added to AltRMI.  On the 
          transports page, there are some related future requirements listed.  Below are 
          the big features yet to do.
        </p>    
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Callback</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
          
  <p align="justify">
            We have yet to implement callbacks.  We need to make the communication 
            asynchronous to do this.  We have toyed with standard APIs like BEEP but
            find the performance is not quite good enough.  We may not need the
            sustained power of BEEP as our needs are for short bursts rather than
            multiplexing sustained streams.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>True dynamic creation of Proxies</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
          
  <p align="justify">
            We curently use javac to compile stubs from source.  It feels natuaral to use
            this technique as we think in terms of the Java the language.  We know that
            the main interface to Javac is deprecated in JDK1.4 and feel we should move to
            some less static and more beanlike tool.  An obvious choice would be BCEL, but we
            find it too hard to work with (it being closer to bytecode machine than the Java
            language).
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>  
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/otherfeatures.html
  
  Index: otherfeatures.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Other Features</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Other Features</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Other Features</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Blah
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Features</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          Blah     
        </p>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Choice of location of generated Proxy class.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            Classes providing client side implementation of the transported 
  	  interface(s) can be either on the client side or the server side (and 
  	  duly transported) at time of lookup.  On the server side, the proxy classes
            can be generated in advance (Ant Task) or at runtime - javac is invoked.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Choice of castability of generated proxy class.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            To suit remote facilities that are happy with refection and do 
  	  not need to cast to an interface to use a bean (I am thinking of 
  	  BeanShell) the proxy class can be generated without specifying
  	  that it implements the interface(s).
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Suspendable/Resumable service.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            The Server supports suspend() and resume().  With the current impl this 
  	  replies in a timely fashion to the client that the client should try
  	  later.  The client waits for the notified amount of time and seamlessly
  	  tries the request again.  A server could cycle through suspended and back
  	  to resumed will not affect the client except for the a delay.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Recovering transport</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            AltRMI tries to recover its transports should they fail.  The recovery 
  	  is pluggable in that the developer can choose when/how/if the connection
  	  handler tries to recover the connection.  Any inprogress, but
  	  disconnected method invocation will attempt to be recoved and just return
            as normal, albeit after a longer than normal delay.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Event API</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            For suspensions, abnormal ends of connection etc, there is a listener 
  	  that can be set that will allow actions to be taken.  Abnormally 
  	  terminated connections will by default try to be reconnected, the 
            listener can decide if, how many, and how often the retries occur.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Pluggable Transport indenpendant keep-alive concept.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            On the client side, there is an API for a pluggable pinger.  While the server
  	  may support timeouts for client connections, the client could choose to
            overcome that default policy with a ping concept.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Unpublishable and republishable API</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            The server is able to unpublish a service.  In conjuction with 
  	  suspend()/resume() a service can be republished, upgraded etc
  	  whilst in use, or just offlined.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Startable API for Server</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            The server implements and acts upon start() and stop() methods.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Not just pass by value.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            AltRMI started life as 'pass by value' only.  In now supports return 
            types and parameters wrapped in another AltRMI Facade.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>No duplicate instances.</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            For Facades, if you call Person p = getPerson("Fred") twice you will get 
  	  the same instance on the client side is it is the same instance on the 
            server side.        
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Load balancing server grouping</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            In some configurations, the client side can have multiple servers it 
            will forward calls to (TODO).
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b></b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            Blah
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/pingers.html
  
  Index: pingers.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Pingers</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Pingers</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Pingers</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Although it may not be necessary for all types of transport, 
          there is a mechanism called a pinger that can be used to keep alive 
          the connection. It is possible to write your own or extend the exiting 
          ones if there are different requirements.  Pingers run on the client side.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Pinger types</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          Here are the types of pinger implemented so far
        </p>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>DefaultConnectionPinger</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
          
  <p align="justify">
            This pinger pings every ten seconds, but stops one hundred seconds seoonds
            after the last real request.  The 10 &amp; 100 are configurable of course.
          </p>
          
  <p align="justify"> 
            This pinger is the default and will be used if none other is 
            specified.
          </p>        
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>PerpetualPinger</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
            This pinger pings every ten seconds until the connection is closed.
          </p>            
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/publishing.html
  
  Index: publishing.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Publishing</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Publishing</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Publishing</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Publishing is an server responsibility obviously.  It is quite straight forward.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Publishing</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          You have to choose your server, publish the impl (reiterating the interfaces that will 
          be pass-by-reference boundaries), then start the server.....
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
  
          AbstractServer as new CompleteSocketCustomStreamServer(1235);
          TestInterfaceImpl ti = new TestInterfaceImpl();
          as.publish(ti, "Hello", new PublicationDescription(TestInterface.class, TestInterface2.class));
          as.start();
  
  </pre>
  </td>
  </tr>
  </table>
  </div>
         After starting the server client connections will be accepted.
        </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/transports.html
  
  Index: transports.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur AltRMI / Transports</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  <li>
  <a href="otherfeatures.html"><font size="-1">Other Features</font></a>
  </li>
  <li>
  <a href="transports.html"><font size="-1">Transports</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Using</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="facades.html"><font size="-1">Facade Design</font></a>
  </li>
  <li>
  <a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
  </li>
  <li>
  <a href="publishing.html"><font size="-1">Publishing</font></a>
  </li>
  <li>
  <a href="client-usage.html"><font size="-1">Client usage</font></a>
  </li>
  <li>
  <a href="pingers.html"><font size="-1">Pingers</font></a>
  </li>
  <li>
  <a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur AltRMI / Transports</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Transports</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          AltRMI has pluggable and reimplementable transports.  They differ in terms of speed and layers of transport.  Some are in VM, others between VMs using sockets and various Java concepts.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Transports</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">                
          Blah     
        </p>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Plain Sockets / ObjectStream &amp; CustomStream varients</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>            
          
  <p align="justify">
            Blah
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Over RMI</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
            Blah
          </p>            
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Piped with same VM / ObjectStream &amp; CustomStream varients</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
            Blah
          </p>      
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Direct within same VM</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
          
  <p align="justify">
            Blah
          </p>      
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>    
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Future Transports</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
        
  <p align="justify">
          
  <ul>
            
  <li>SOAP - Might require additional undynamic "toWSDL()" step.</li>
  	  
  <li>CORBA - Might require additional undynamic "toIDL()" step.</li>
  	  
  <li>JMS</li>
  	  
  <li>UDP</li>
  	  
  <li>Over RMI over IIOP</li>
  	  
  <li>Over JMS</li>
  	  
  <li>Over RMI over HTTP</li>
  	  
  <li>Over HTTP (custom impl)</li>
  	  
  <li>TLS enabled versions of many of the above.</li>
          
  </ul>
        
  </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>JNDI</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
        
  <p align="justify">
          Blah
        </p>      
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Speed</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>    
        
  <p align="justify">
          Counting the number of 'void testSpeed()' invocations in 10 seconds,
          we can guage the differences (my Athlon900 machine)
  	    
  
        </p>
  	    
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>AltRMI types over TCP/IP</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
  	    
  <p align="justify">
  	    For remote publication<p align="justify"></p>
  	    
  <p align="justify"></p>
  	    Speed Test type                   Count Relative<p align="justify"></p>
  	    ------------------------------- ------- --------<p align="justify"></p>
  	    a) ObjectStream over sockets #2    2702     1.00<p align="justify"></p>
  	    b) Over RMI                        4359	1.61<p align="justify"></p>
  	    c) CustomStream over sockets       6069     2.25<p align="justify"></p>
  	    d) ObjectStream over sockets #1   10088     3.73<p align="justify"></p>
  
              
  </p>	    
              
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  	    
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>AltRMI types in the same VM</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
  	    
  <p align="justify">
  
  	    These are useful for complete classloader separation of interface &amp; impl using 
  	    different classloaders. Impl and 'remote' proxy do not need to see the same 
              interfaces etc..<p align="justify"></p>
              
  <p align="justify"></p>
  	    Speed Test type                   Count Relative<p align="justify"></p>
  	    ------------------------------- ------- --------<p align="justify"></p>
  	    e) ObjectStream over Pipe #2      12095     4.48<p align="justify"></p>
  	    f) Direct Marshalled #3           20759     7.68<p align="justify"></p>
  	    g) ObjectStream over Pipe #1      61166    22.64<p align="justify"></p>
  	    h) Direct Unmarshalled #        2391498   885.08<p align="justify"></p>
  	    
  	    #1 Without calling reset() as workaround to the ObjectStream bug
  	    #2 With calling reset() as workaround to the ObjectStream bug
  	    #3 Completely separates classloaders of client and server. Requires 
  	       a thread for each though.
  	    #4 Good as DynamicProxy for separation. Does not separate classloaders
  	       of client and server.
  	    </p>
  	    
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  	    
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Non AltRMI types</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
  	    
  <p align="justify">
  
  	    - In VM, without using AltRMI - for comparison.
  	    - The inteface, impl and proxy cannot be separated in terms of
  	      branches of classloader for these three. The same interfaces 
  	      etc must be visible to both impl and proxy.
  	      <p align="justify"></p>
  	    Speed Test type                   Count Relative<p align="justify"></p>
  	    ------------------------------- ------- --------<p align="justify"></p>	    
  	    i) DyanmicProxy #5<p align="justify"></p>
  	       (copied from Excalibur)     20282070  7506.32<p align="justify"></p>
  	    j) Hand-coded proxy #5         41214422 15253.30<p align="justify"></p>
  	    k) No Proxy #5                 42384804 15686.46<p align="justify"></p>
  	    
  <p align="justify"></p>
  	    #4 - For all of these three, the actual timing may slow down the test.<p align="justify"></p>
             
  </p>      
             
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/images/facades.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/altrmi/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Baxter JMX Utilities - Overview</title>
      <authors>
        <person name="Peter Donald" email="peter@apache.org"/>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <warn>
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </warn>
        <p>
          Baxter is a set of base classes and utility classes that are enable
          rapid creation of MBeans via delegation and inheritance. These were
          originally derived from the Phoenix project.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:45 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/baxter/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Baxter JMX Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Baxter JMX Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Baxter JMX Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td bgcolor="#c0c0c0"><font size="-1" color="#023264">
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </font></td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          Baxter is a set of base classes and utility classes that are enable
          rapid creation of MBeans via delegation and inheritance. These were
          originally derived from the Phoenix project.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Bzip2 Utilities - Overview</title>
      <authors>
        <person name="Peter Donald" email="peter@apache.org"/>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <warn>
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </warn>
        <p>
          Streams that compress and decompress the BZip2 format (without the
          file header chars). Originally derived from code in the ant project.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:46 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/bzip2/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Bzip2 Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Bzip2 Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Bzip2 Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td bgcolor="#c0c0c0"><font size="-1" color="#023264">
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </font></td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          Streams that compress and decompress the BZip2 format (without the
          file header chars). Originally derived from code in the ant project.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Cache - Overview</title>
      <authors>
        <person name="Eung-ju Park" email="colus@isoft.co.kr"/>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <warn>
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </warn>
        <p>
          The <code>org.apache.avalon.excalibur.cache</code> package contains
          interfaces and classes for caching. The design is sufficiently modular
          to allow for different implementations of the backing mechanism (store)
          and replacement algorithm (eg LRU, FIFO).
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2001-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:46 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/images/cache.png
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cache/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Cache - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Cache - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Cache - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:colus@isoft.co.kr">Eung-ju Park</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td bgcolor="#c0c0c0"><font size="-1" color="#023264">
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </font></td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          The <code>org.apache.avalon.excalibur.cache</code> package contains
          interfaces and classes for caching. The design is sufficiently modular
          to allow for different implementations of the backing mechanism (store)
          and replacement algorithm (eg LRU, FIFO).
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/cli/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Command-line Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Command-line Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Command-line Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:peter@apache.org">Peter Donald</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
  <p align="justify">
              This component allows you to parse Command Line Options
              during application start-up.  It is designed to parse the
              command line options in the same manner as the C getopt()
              function in glibc (the GNU C runtime library). It attempts
              to do this in a simpler, more Java-centric manner than the
              original product.
              </p>
              
  <p align="justify">
              There are a number of examples in the examples/ directory
              of this release. These examples allow you to get started
              fast and easy.  See the examples/README.txt file for
              further details.
              </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Parsing Rules</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
  <p align="justify">
              The command line is parsed according to the following rules. There are
              two forms of options in this package, the Long form and the Short form.
              The long form of an option is preceded by the '--' characters while the
              short form is preceded by a single '-'. Some example options would be;
              "--an-option", "-a", "--day", "-s -f -a".
              </p>
              
  <p align="justify">
              In the tradition of UNIX programs, the short form of an option can occur
              immediately after another short form option. So if 'a', 'b' and 'c' are
              short forms of options that take no parameters then the following
              command lines are equivalent: "-abc", "-a -bc", "-a -b -c", "-ab -c", etc.
              </p>
              
  <p align="justify">
              Options can also accept arguments if specified. You can specify that an
              option requires an argument in which the text immediately following the
              option will be considered to be an argument to the option. So if 'a' was an
              option that required an argument then the following would be equivalent;
              "-abc", "-a bc" (namely the option 'a' with argument 'bc').
              </p>
              
  <p align="justify">
              Options can also specify optional arguments. In this case if there is any
              text immediately following the option character then it is considered an
              argument.  Otherwise, the option has no arguments. For example if 'a' was an
              option that required an optional argument then "-abc" is an option 'a' with
              argument "bc" while "-a bc" is an option 'a' with no argument, followed by
              the text "bc". It is also possible to place an '=' sign between the option
              and it's argument. ie The following are all equivalent; "-a=bc", "-a bc",
              "-abc".
              </p>
              
  <p align="justify">
              In some cases it is also necessary to disable command line parsing so that you
              can pass a text argument to the program that starts with a '-' character. To do
              this insert the sequence '--' onto the command line with no text immediately
              following it. This will disable processing for the rest of the command line.
              The '--' characters will not be passed to the user program. For instance the
              line "-- -b" would result in the program being passed the
              text "-b" (ie. not as an option).
              </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Collections - Overview</title>
      <authors>
        <person name="Leo Simons" email="mail@leosimons.com"/>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          Filling the gap in java.util....
        </p>
        <p>
          The Collection Utilities in <code>org.apache.avalon.excalibur.collection</code>
  	provide a number of high speed collection implementations as well as some utilities
  	to allow you to execute Set mathematics on a list.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:46 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/collections/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Collections - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Collections - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Collections - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:mail@leosimons.com">Leo Simons</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Filling the gap in java.util....
        </p>
        
  <p align="justify">
          The Collection Utilities in <code>org.apache.avalon.excalibur.collection</code>
  	provide a number of high speed collection implementations as well as some utilities
  	to allow you to execute Set mathematics on a list.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Command - Overview</title>
      <authors>
        <person name="????" email="???"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          ???
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:47 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/command/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Command - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Command - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Command - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:???">????</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          ???
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
      <header>
          <title>Excalibur Component Utilities - Overview</title>
          <authors>
              <person name="Leo Simons" email="mail@leosimons.com"/>
              <person name="Berin Loritsch" email="bloritsch@apache.org"/>
              <person name="Peter Donald" email="peter@apache.org"/>
              <person name="Leif Mortenson" email="leif@tanukisoftware.com"/>
          </authors>
      </header>
      <body>
          <s1 title="Introduction">
              <p>
              This project contains utilities for managing components.  
              In particular, the ExcaliburComponentManager.
              </p>
          </s1>
          <s1 title="Automated Component Management">
            <p>
              The <code>org.apache.avalon.excalibur.component</code> package
      	    in Excalibur will allow you to manage components specified in
      	    a configuration file.  The beauty of this approach is that the
      	    ComponentManagers and ComponentSelectors become the Container
      	    and automagically maintain your Component's lifecycle.
            </p>
            <p>
              The Excalibur Component Management infrastructure uses a
      	    RoleManager to help your configuration files remain readable.
      	    All classes are instantiated using the current thread's
      	    ContextClassLoader--unless you pass a different one in the
      	    constructor.
            </p>
          </s1>        
      </body>
      <footer>
          <legal>
            Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
            $Revision: 1.1 $ $Date: 2002/04/05 15:11:47 $
          </legal>
      </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/component/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Component Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Component Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Component Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:mail@leosimons.com">Leo Simons</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
  <p align="justify">
              This project contains utilities for managing components.  
              In particular, the ExcaliburComponentManager.
              </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Automated Component Management</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
            
  <p align="justify">
              The <code>org.apache.avalon.excalibur.component</code> package
      	    in Excalibur will allow you to manage components specified in
      	    a configuration file.  The beauty of this approach is that the
      	    ComponentManagers and ComponentSelectors become the Container
      	    and automagically maintain your Component's lifecycle.
            </p>
            
  <p align="justify">
              The Excalibur Component Management infrastructure uses a
      	    RoleManager to help your configuration files remain readable.
      	    All classes are instantiated using the current thread's
      	    ContextClassLoader--unless you pass a different one in the
      	    constructor.
            </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Concurrent Threading - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
        <person name="Leo Simons" email="mail@leosimons.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          Avalon Excalibur's concurrency management utilities are in
          the <code>org.apache.avalon.excalibur.concurrent</code> package.
          They give you important thread handling classes like Lock (a
          Mutex implementation), DjikstraSemaphore, ThreadBarrier, and
          ConditionalEvent.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:47 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/concurrent/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Concurrent Threading - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Concurrent Threading - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Concurrent Threading - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Avalon Excalibur's concurrency management utilities are in
          the <code>org.apache.avalon.excalibur.concurrent</code> package.
          They give you important thread handling classes like Lock (a
          Mutex implementation), DjikstraSemaphore, ThreadBarrier, and
          ConditionalEvent.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur Datasource Management - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          Avalon Excalibur's DataSource package in
      <code>org.apache.avalon.excalibur.datasource</code> allows you
      to manage pooled connections in one of two ways.  You can have
      the package handle it for you, or you can use a J2EE server's
      DataSource management.  It provides the same kind of access
      regardless of which method you choose--since they are obtained
      through Avalon's Component Manager infrastructure.
        </p>
        <p>
          The DataSource package requires that you load the necessary
      driver classes at init time, but it will take care of all
      necessary issues from there.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:48 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/examples-jdbcdatasource.html
  
  Index: examples-jdbcdatasource.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Datasource Management - Jdbc Datasource Example Application</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Example Applications</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Datasource Management - Jdbc Datasource Example Application</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Datasource Management - Jdbc Datasource Example Application</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
              
  <p align="justify">
                  The Jdbc Data Source Example Application will take you through the steps involved
                  to get your Avalon application configured to be able to connect to a database.
                  This is done by implementing a simple console based application which allows the
                  user to add, remove, and view Movie Titles in a Hypersonic SQL database.
              </p>
              
  <p align="justify">
                  This example assumes that you are familiar with configuration files and with the
                  Logger system.
              </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Running the Example Application</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
              
  <p align="justify">
                  To run the application, follow these steps.
                  <list>
                      
  <li>Download and build the <code>jakarta-avalon project</code>.</li>
                      
  <li>Download the <code>jakarta-avalon-excalibur</code> project into the same 
                          parent directory as <code>jakarta-avalon</code> and run <code>build</code>
                      
  </li>
                      
  <li>cd into the <code>jakarta-avalon-excalibur/examples/jdbcdatasource</code>
                          directory and run build.  This will build the example application.
                      </li>
                      
  <li>cd into the <code>jakarta-avalon-excalibur/examples/jdbcdatasource/bin</code>
                          directory and execute the <code>run</code> script.</li>
                  
  </list>
              
  </p>
              
  <p align="justify">
                  Once the application is running, you should see the following:
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>Running the JdbcDataSource Example Application
  
  Please enter a title to be added to the database
      (RESET deletes all titles, LIST lists all titles, QUIT or EXIT to quit)
  :</pre>
  </td>
  </tr>
  </table>
  </div>
              
  </p>
              
  <p align="justify">
                  The application allows you to enter the commands <code>RESET</code> to delete all
                  titles from the database, <code>LIST</code> to list all the titles in the database,
                  or <code>QUIT</code> to quit the application.  Any other command will be
                  interpreted as a title and be added to the database.  Not the fanciest interface
                  in the world, but it will work for this example.
              </p>
              
  <p align="justify">
                  Play around with adding and deleting a few Movie Titles before we move on to how
                  the application works.  You should see something like the following as output:
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>Running the JdbcDataSource Example Application
  
  Please enter a title to be added to the database
      (RESET deletes all titles, LIST lists all titles, QUIT or EXIT to quit)
  : Crouching Tiger Sleeping Dragon
  Adding title 'Crouching Tiger Sleeping Dragon' to the database...
  Added 'Crouching Tiger Sleeping Dragon' to the database.
  : The Matrix
  Adding title 'The Matrix' to the database...
  Added 'The Matrix' to the database.
  : Akira
  Adding title 'Akira' to the database...
  Added 'Akira' to the database.
  : list
  Listing all titles currently in the database...
      'Crouching Tiger Sleeping Dragon' saved at 2002-02-04 16:45:03.63
      'The Matrix' saved at 2002-02-04 16:45:17.5
      'Akira' saved at 2002-02-04 16:45:41.714
  The database contains 3 titles.
  : reset
  Deleting all titles currently in the database...
  Deleted 3 titles from the database.
  : quit
  
  
  Exiting...</pre>
  </td>
  </tr>
  </table>
  </div>
              
  </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>So How Does It All Work?</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
              
  <p align="justify">
                  This example starts out by creating a component interface, 
                  <code>HelloDBService</code>, and its implementation class
                  <code>DefaultHelloDBService</code>.  <code>HelloDBService</code> defines the
                  following methods:
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>public interface HelloDBService
      extends Component
  {
      String ROLE = "org.apache.avalon.examples.jdbcdatasource.HelloDBService";
      
      /**
       * Adds a single row to the database.
       */
      void addRow( String title );
      
      /**
       * Ask the component to delete all rows in the database.
       */
      void deleteRows();
      
      /**
       * Ask the component to log all of the rows in the database to the logger
       *  with the info log level.
       */
      void logRows();
  }</pre>
  </td>
  </tr>
  </table>
  </div>
              
  </p>
              
  <p align="justify">
                  The implementation class, <code>DefaultHelloDBService</code>, must implement the
                  following interfaces; <code>HelloDBService</code>, <code>Composable</code>,
                  <code>Configurable</code>, <code>Initializable</code>, and <code>Disposable</code>.
                  The methods of each interface have a critical role in controlling the life cycle of
                  the component and its interaction with the JdbcDataSource.
              </p>
              
  <p align="justify">
                  The <code>Composable</code> interface defines the <code>compose</code> method.  Its
                  job is to store a reference to the ComponentManager which created the component.
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>public void compose( ComponentManager manager )
  {
      m_manager = manager;
  }</pre>
  </td>
  </tr>
  </table>
  </div>
              
  </p>
              
  <p align="justify">
                  The <code>Configurable</code> interface defines the <code>configure</code> method.
                  Its job is to extract the name of the Data Source which the component is configured
                  to use.
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>public void configure( Configuration configuration )
      throws ConfigurationException
  {
      // Obtain a reference to the configured DataSource
      m_dataSourceName = configuration.getChild( "dbpool" ).getValue();
  }</pre>
  </td>
  </tr>
  </table>
  </div>
              
  </p>
              
  <p align="justify">
                  The <code>Initializable</code> interface defines the <code>initialize</code> method.
                  Its job is to actually obtain a reference to the Data Souurce whose name was
                  obtained during the configuraton phase.
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>public void initialize()
      throws Exception
  {
      // Get a reference to a data source
      m_dbSelector = (ComponentSelector)m_manager.lookup( DataSourceComponent.ROLE + "Selector" );
      m_dataSource = (DataSourceComponent)m_dbSelector.select( m_dataSourceName );
      
      // Initialize the database.
      initializeDatabase();
  }</pre>
  </td>
  </tr>
  </table>
  </div>
                  In this example, the data source is defined with a component selector.  This has
                  the benefit of allowing multiple Data Sources to be defined for a single 
                  application.  First obtain a reference to a ComonentSelector with the role:
                  <code>org.apache.jakarta.excalibur.datasource.DataSourceComponentSelector</code>.
                  Next, using the selector, look for the DataSource which was specified in the
                  <code>dbpool</code> tag when configuring the component.  Finally, a user method is
                  called to initialize the database.
              </p>
              
  <p align="justify">
                  The <code>Disposable</code> interface defines the <code>dispose</code> method.
                  Its job is release the Data Source and the ComponentSelector used to obtain the
                  Data Source as part of the clean up cycle for the component.
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>public void dispose()
  {
      // Free up the data source
      if ( m_dbSelector != null )
      {
          if ( m_dataSource != null )
          {
              m_dbSelector.release( m_dataSource );
              m_dataSource = null;
          }
  
          m_manager.release( m_dbSelector );
          m_dbSelector = null;
      }
  }</pre>
  </td>
  </tr>
  </table>
  </div>
              
  </p>
              
  <p align="justify">
                  Please take a look at the complete source for the component at
                  <code>DefaultHelloDBService.java</code> in the <code>src/java</code> directory of
                  the example.
              </p>
              
  <p align="justify">
                  This example starts out by creating a component interface, 
                  <code>HelloDBService</code>, and its implementation class
                  <code>DefaultHelloDBService</code>.  The class is defined inside the roles.xml file
                  with the following definition:  (see <code>conf/roles.xml</code>)
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>&lt;role name="org.apache.avalon.examples.jdbcdatasource.HelloDBService"
        shorthand="hello-db"
        default-class="org.apache.avalon.examples.jdbcdatasource.DefaultHelloDBService"/&gt;</pre>
  </td>
  </tr>
  </table>
  </div>
                  This is not any different than any other component definition.
              </p>
              
  <p align="justify">
                  When the component is configured, however, there is a new tag which must be added
                  to the configuration to tell the component how to locate a JdbcDataSource for its
                  database access:  (see <code>conf/components.xml</code>)
                  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>&lt;hello-db logger="app"&gt;
      &lt;dbpool&gt;test-db&lt;/dbpool&gt;
  &lt;/hello-db&gt;</pre>
  </td>
  </tr>
  </table>
  </div>
              
  </p>
              
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Datasource Management - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  <font size="+1" color="#000000">Example Applications</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Datasource Management - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Datasource Management - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Avalon Excalibur's DataSource package in
      <code>org.apache.avalon.excalibur.datasource</code> allows you
      to manage pooled connections in one of two ways.  You can have
      the package handle it for you, or you can use a J2EE server's
      DataSource management.  It provides the same kind of access
      regardless of which method you choose--since they are obtained
      through Avalon's Component Manager infrastructure.
        </p>
        
  <p align="justify">
          The DataSource package requires that you load the necessary
      driver classes at init time, but it will take care of all
      necessary issues from there.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/datasource/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Event - Overview</title>
      <authors>
        <person name="????" email="???"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          ???
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:48 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/event/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Event - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Event - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Event - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:???">????</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          ???
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Extension - Overview</title>
      <authors>
        <person name="????" email="???"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <warn>
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </warn>
        <p>
          Utility classes that contains methods to scan a manifest
          and return an array of either available or required optional packages
          documented in that manifest.
        </p>
        <p>
          For more information about optional packages, see the document
          <em>Optional Package Versioning</em> in the documentation bundle
          for your Java2 Standard Edition package, in the file
          <code>guide/extensions/versioning.html</code>.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:48 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/extension/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Extension - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Extension - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Extension - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:???">????</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td bgcolor="#c0c0c0"><font size="-1" color="#023264">
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </font></td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          Utility classes that contains methods to scan a manifest
          and return an array of either available or required optional packages
          documented in that manifest.
        </p>
        
  <p align="justify">
          For more information about optional packages, see the document
          <em>Optional Package Versioning</em> in the documentation bundle
          for your Java2 Standard Edition package, in the file
          <code>guide/extensions/versioning.html</code>.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Internationalization - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
        <person name="Leo Simons" email="mail@leosimons.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          Excalibur's Internationalization package is found in
          <code>org.apache.avalon.excalibur.i18n</code>.  Avalon
          Excalibur includes a method of managing resources, and
          an interface for specifying the resource.  Support for
          XML resource bundles are still under development.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:49 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/il8n/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Internationalization - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Internationalization - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Internationalization - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Excalibur's Internationalization package is found in
          <code>org.apache.avalon.excalibur.i18n</code>.  Avalon
          Excalibur includes a method of managing resources, and
          an interface for specifying the resource.  Support for
          XML resource bundles are still under development.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/io/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur I/O Extensions - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur I/O Extensions - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur I/O Extensions - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>, <a href="mailto:jefft@apache.org">Jeff Turner</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">Avalon Excalibur's Input/Output utilities are in package
          <code>org.apache.avalon.excalibur.io</code>.</p>
  
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Copy methods</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
          
  <p align="justify">Excalibur's IO package contains a comprehensive set of routines for
            copying bytes and chars. Routines exist for copying from:
            <code>String</code>, <code>byte[]</code>, <code>Reader</code> and
            <code>InputStream</code>,
            to:
            <code>String</code>, <code>byte[]</code>, <code>Writer</code> and
            <code>OutputStream</code>.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
        
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="99%">
  <tr>
  <td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Useful java.io.FileFilters</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
          
  <p align="justify">
            Excalibur includes a number of FileFilters that you can use for your
            own purposes. This fills a gap in the Java runtime because the
            interface was specified but no implementations were given.
          </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/lang/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Language Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Language Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Language Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:peter@apache.org">Peter Donald</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
  <p align="justify">
              This project contains lang utilities.
              </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/logger/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Logger - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Logger - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Logger - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:giacomo@apache.org">Giacomo Pati</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Find Avalon Excalibur's LogKit Management System in the
          <code>org.apache.avalon.excalibur.logger</code> package.
          The LogKit Management System integrates neatly into the Avalon 
          Excalibur's Component Management System. The main goal is to 
          be able to define the log categories on a component basis by
          specifying a 'logger' attribute which denotes the log category
          to use for a particular <code>Component</code> (given the 
          <code>Component</code> is <code>Loggable</code>).
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Example configurations</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Look at this example of a component definition:
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          
            &lt;component role="my.component.role" class="my.component.roleImpl"
              logger="category.subcategory"/&gt;
          
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          And now let's have a look at a hypothetical LogKit Management configuration:
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          
            &lt;?xml version="1.0"?&gt;
  
            &lt;logkit&gt;
              &lt;factories&gt;
                &lt;factory type="file" class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/&gt;
                &lt;factory type="priority-filter" 
                    class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactory"/&gt;
              &lt;/factories&gt;
  
              &lt;targets&gt;
                &lt;file id="root"&gt;
                  &lt;filename&gt;lolo/${current-dir}/lala/${foo}/logs/main.log&lt;/filename&gt;
                  &lt;format type="exteded"&gt;
                    %7.7{priority} %5.5{time}   [%8.8{category}] (%{context}): %{message}\n%{throwable}
                  &lt;/format&gt;
                  &lt;append&gt;true&lt;/append&gt;
                &lt;/file&gt;
                &lt;file id="classloader"&gt;
                  &lt;filename&gt;logs/classloader.log&lt;/filename&gt;
                  &lt;format type="raw"/&gt;
                &lt;/file&gt;
                &lt;priority-filter id="foo" log-level="WARN"&gt;
                  &lt;file&gt;
                    &lt;filename&gt;logs/foo.log&lt;/filename&gt;
                    &lt;format type="extended"&gt;%7.7{priority} %5.5{time}: %{message}\n%{throwable}&lt;/format&gt;
                  &lt;/file&gt;
                &lt;/priority-filter&gt;
              &lt;/targets&gt;
  
              &lt;categories&gt;
                &lt;category name="cocoon" log-level="INFO"&gt;
                  &lt;log-target id-ref="root"/&gt;
  
                  &lt;category name="classloader" log-level="DEBUG"&gt;
                    &lt;log-target id-ref="classloader"/&gt;
                  &lt;/category&gt;
                &lt;/category&gt;
                &lt;category name="foo" log-level="DEBUG"&gt;
                  &lt;log-target id-ref="foo"/&gt;
                &lt;/category&gt;
              &lt;/categories&gt;
            &lt;/logkit&gt;
          
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          As you've seen the configuration file for the LokKit
          Management System has three sections (beside the 
          root element which is &lt;logkit&gt;).
        </p>
        
  <dl>
          
  <dt>&lt;factories&gt;</dt>
          
  <dd>
            The factories section defines the 
            <code>LogTargetFactory</code>s
            that are used to create the needed 
            <code>LogTargets</code>. You'll
            find the factories available in the 
            <code>org.apache.avalon.excalibur.logger.factory</code> 
            package. You can write your own factories which 
            only needs to implement the
            <code>org.apache.avalon.excalibur.logger.LogTargetFactory</code>
            interface or you extend one of the available factories 
            in the mentioned package.
          </dd>
          
  <dt>&lt;targets&gt;</dt>
          
  <dd>
            The targets section defines the individual 
            <code>LogTargets</code>.
            The element name of a target definition corresponds 
            to a type attribute of a &lt;factory&gt; element. You'll 
            probably need to consult the javadocs of the corresponding 
            factory to get familiar with the configuration 
            options available for a particular target.
          </dd>
          
  <dt>&lt;categories&gt;</dt>
          
  <dd>
            The categories section finally assembles all together. The 
            name attribute of a category gives the reference used in 
            logger attribute in the components configuration files. 
            The log-level attribute gives the logging priority to the 
            <code>Logger</code> of that category. &lt;category&gt; 
            elements have &lt;log-targets&gt; children which, you 
            already guessed, defines the <code>LogTarget</code>s 
            for a particular logging category. You'll also see in the 
            sample above that category elements can be nested to define
            sub-categories. 
          </dd>
        
  </dl>   
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Design principles and implementation details of the LogKit Management System</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          The first abstraction is the <code>LogKitManager</code>:
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          public interface LogKitManager
          {
              Logger getLogger( String categoryName );
          }
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          There is a implementation named <code>DefaultLogKitManager</code> 
          which is the only class exposed to clients. As a convenient a 
          additional interface is introduced for the 
          <code>ComponentManager</code> (stolen from the role management 
          system) which states that a class is willing to get a 
          <code>LogKitManager</code>:
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          public interface LogKitManageable
          {
              void setLogKitManager( LogKitManager logmanager );
          }
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          This method has to be called before the configure method but after the
          contextualize method.
        </p>
        
  <p align="justify">
          The <code>DefaultLogKitManager</code> is <code>Configurable</code>
          (as well as <code>Loggable</code> [the initial default logger] and 
          <code>Contextualizable</code> [to pass along for ie.
          <code>ServletOutputLogTarget</code>]) and gets a 
          <code>Configuration</code> object as expressed in the logkit
          xml syntax above. This <code>DefaultLogKitManager</code> then uses 
          a object of type
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          public interface LogTargetFactoryManager
          {
              LogTargetFactory getLogTargetFactory( String factoryName );
          }
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          The <code>DefaultLogTargetFactoryManager</code> is 
          <code>Configurable</code> (as well as <code>Loggable</code> and
          <code>Contextualizable</code>) and gets the 
          <code>Configuration</code> object located at the &lt;factories&gt;
          element. It will instanciate the concrete factories into a map 
          keyed by the type attribute. So we are at the 
          <code>LogTargetFactory</code> abstraction which is:
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          public interface LogTargetFactory
          {
              LogTarget createTarget( Configuration configuration )
                  throws ConfigurationException;
          }
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          It may happen that a <code>LogTargetFactory</code> needs to 
          create <code>LogTarget</code>s they don't know in advance 
          and thus an additional interface is needed:
        </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          public interface LogTargetFactoryManageable
          {
              void setLogTargetFactoryManager( LogTargetFactoryManager logTargetFactoryManager );
          }
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          This eases writing factories which acts like decorators 
          (<code>AsyncLogTarget</code>, <code>PriorityFilter</code>) 
          and thus need a LogTargetFactoryManager to create the decorated
          <code>LogTargets</code> which are embeded in the configuration 
          of them (see &lt;priority-filter&gt; above).
        </p>
        
  <p align="justify">
          After initializing the <code>LogTargetFactoryManager</code> a 
          <code>LogTargetManager</code>
        
  </p>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
          public interface LogTargetManager
          {
              LogTarget getLogTarget( String targetId );
          }
        </pre>
  </td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          is created. The implementation <code>DefaultLogTargetManager</code> 
          is, you guess it, <code>Configurable</code> (as well as 
          <code>Loggable</code> and <code>Contextualizable</code>). The
          <code>Configuration</code> object is the &lt;targets&gt; element 
          in the xml syntax and is put into a map keyed by the id 
          attribute of the target element. It is also 
          <code>LogTargetFactoryManageable</code> tob e able to create 
          the <code>LogTargets</code>.
        </p>
        
  <p align="justify">
          The last step of the <code>DefaultLogKitManagers</code> configure 
          method is to create the actual categories based on the categories 
          elements content. It does it as the syntax will show in a 
          recursive way populating the Loggers retrieved by 
          <code>Hierarchy.getDefaultHierarchy().getLoggerFor( full_category )</code>
          with the denoted <code>LogTargets</code> from the 
          <code>LogTargetManager</code>.
        </p>
        
  <p align="justify">
          After that the <code>LogKitManager</code> is ready to be asked 
          for <code>Logger</code>s. 
        </p>
        
  <p align="justify"> 
          Now Avalon's Automated Component Management System is aware of a
          "magic attributes" named logger and used like 
          <code>logger="category"</code> on the component definition syntax.
          The classes building up Avalon's Automated Component Management System
          are made <code>LogTargetFactoryManageable</code>. If you pass along 
          a <code>LogKitManager</code> to the <code>ExcaliburComponentManager</code>
          the Component Management System will retrieve the denoted logger
          category specified with the logger attribute from the 
          <code>LogKitManager</code> and pass it to <code>Component</code>s 
          implementing <code>Loggable</code>.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur Naming Utilities - Overview</title>
      <authors>
        <person name="????" email="???"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          ???
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:49 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/naming/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Naming Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Naming Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Naming Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:???">????</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          ???
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur Resource Pool Support - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
        <person name="Leo Simons" email="mail@leosimons.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          Find Avalon Excalibur's Pool implementations in the
      <code>org.apache.avalon.excalibur.pool</code> package.
      There are many implementations that are ThreadSafe, and
      one that is not.  You have the option of not limiting
      used resources at all, or limiting the used resources
      based on specific rules.
        </p>
        <p>
          If you are using the Exalibur Component Management package,
      you can have your components implement Poolable or Recyclable
      from this package, and your components will be pooled.  The
      Components are pooled with a soft resource limiting pool.
      That means that as additional resources are needed, they are
      created--but once they are returned to the pool, the extra
      instances are decommissioned.
        </p>
        <p>
          The Excalibur DataSources package also uses this package,
      and uses a hard resource limiting pool.  If the number of
      open JDBC Connections exceeds the limit, an exception is
      thrown.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:49 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/pool/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Resource Pool Support - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Resource Pool Support - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Resource Pool Support - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          Find Avalon Excalibur's Pool implementations in the
      <code>org.apache.avalon.excalibur.pool</code> package.
      There are many implementations that are ThreadSafe, and
      one that is not.  You have the option of not limiting
      used resources at all, or limiting the used resources
      based on specific rules.
        </p>
        
  <p align="justify">
          If you are using the Exalibur Component Management package,
      you can have your components implement Poolable or Recyclable
      from this package, and your components will be pooled.  The
      Components are pooled with a soft resource limiting pool.
      That means that as additional resources are needed, they are
      created--but once they are returned to the pool, the extra
      instances are decommissioned.
        </p>
        
  <p align="justify">
          The Excalibur DataSources package also uses this package,
      and uses a hard resource limiting pool.  If the number of
      open JDBC Connections exceeds the limit, an exception is
      thrown.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur Properties Utilities - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
        <person name="Leo Simons" email="mail@leosimons.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
       <p>
         Avalon Excalibur uses the properties package located at
         <code>org.apache.avalon.excalibur.properties</code> to
         decode resolvable properties.  The Avalon Framework Context
         object stores values based on name/value pairs.  If the
         value is resolvable, then it is possible to alter the
         value based on another value in the Context.
       </p>
       <p>
         For example, you can get a Context value like this:
       </p>
       <source>
       Object val =
           PropertyUtil.resolveProperty("component-${parent}", mycontext, false);
       </source>
       <p>
         The PropertyUtil will first lookup the value named "parent" from the context,
         and replace "${parent}" with the value of what "parent" was (for our purpose we
         will say it was "foo").  Then it will look up the value of "component-foo" from
         the Context.  The last parameter if true will not throw an exception if the
         resource was not found, and if false will throw an exception.
       </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:50 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/property/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Properties Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Properties Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Properties Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
       
  <p align="justify">
         Avalon Excalibur uses the properties package located at
         <code>org.apache.avalon.excalibur.properties</code> to
         decode resolvable properties.  The Avalon Framework Context
         object stores values based on name/value pairs.  If the
         value is resolvable, then it is possible to alter the
         value based on another value in the Context.
       </p>
       
  <p align="justify">
         For example, you can get a Context value like this:
       </p>
       
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td>
  <pre>
       Object val =
           PropertyUtil.resolveProperty("component-${parent}", mycontext, false);
       </pre>
  </td>
  </tr>
  </table>
  </div>
       
  <p align="justify">
         The PropertyUtil will first lookup the value named "parent" from the context,
         and replace "${parent}" with the value of what "parent" was (for our purpose we
         will say it was "foo").  Then it will look up the value of "component-foo" from
         the Context.  The last parameter if true will not throw an exception if the
         resource was not found, and if false will throw an exception.
       </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur Dynamic Proxy - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
        <person name="Leo Simons" email="mail@leosimons.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          The Proxy code was designed to give the power of JDK-1.3
      proxies to JDK-1.2 environments.  The package is in the
      Scratchpad jar under <code>org.apache.avalon.excalibur.proxy</code>.
      The future of this code is uncertain if we choose to upgrade
      the JDK requirements to JDK-1.3 or better.  Be assured that
      such a move will not be done unless JDK-1.3 is readily available
      on just about every platform including BSD derivatives.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:52 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/proxy/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Dynamic Proxy - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Dynamic Proxy - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Dynamic Proxy - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          The Proxy code was designed to give the power of JDK-1.3
      proxies to JDK-1.2 environments.  The package is in the
      Scratchpad jar under <code>org.apache.avalon.excalibur.proxy</code>.
      The future of this code is uncertain if we choose to upgrade
      the JDK requirements to JDK-1.3 or better.  Be assured that
      such a move will not be done unless JDK-1.3 is readily available
      on just about every platform including BSD derivatives.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur Source Resolving - Overview</title>
      <authors>
        <person name="Carsten Ziegeler" email="cziegeler@apache.org"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          A very common problem is resolving a source, which means
          finding a source using a URI.
        </p>
        <p>
          The source resolver of Avalon Excalibur is a component
          helping you in this task. It resolves sources from a given
          URI. The URI can use all available protocols of the JDK.
          In addition own protocols can be plugged-in.
        </p>
        <p>
          The architecture of this package is simple but powerful.
          The main component is the SourceResolver. It is used
          to resolve any URI. If the SourceResolver can resolve the
          protocol of the URI it returns a Source object. This Source
          object is an abstraction of the underlying resource. This
          resource can be accessed by a provided InputStream.
        </p>
        <p>
          Own protocols can be configured using the SourceFactory interface.
          Whenever the SourceResolver finds a protocol which it can't handle
          by itself, it gets a role selector for a SourceFactory and tries
          to get a component with the role name of the protocol.
          If such a factory exists, the source creation is passed on to this
          factory.
        </p>
        <p>
          The Source object is handled similar to any other Avalon component.
          After it has been used it must be released using SourceResolver.
          In addition the implementation of the Source object can implement
          any of the lifecycle interfaces of usual components and it gets
          all the information from the SourceResolver.
        </p>
        <p>
          The Source object is a lightwight object which can be extended with
          several interface. For example the XMLizable interface from the XML
          package to generate SAX events from the Source. Or the Monitorable
          interface from the monitor package to monitor the resource.
        </p>
        <p>
          For caching purposes the Source object offers a SourceValidity object
          which can be used in addition to the system ID of the Source to verify
          if the cache contains a valid version of the Source object.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:52 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/source/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Source Resolving - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Source Resolving - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Source Resolving - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          A very common problem is resolving a source, which means
          finding a source using a URI.
        </p>
        
  <p align="justify">
          The source resolver of Avalon Excalibur is a component
          helping you in this task. It resolves sources from a given
          URI. The URI can use all available protocols of the JDK.
          In addition own protocols can be plugged-in.
        </p>
        
  <p align="justify">
          The architecture of this package is simple but powerful.
          The main component is the SourceResolver. It is used
          to resolve any URI. If the SourceResolver can resolve the
          protocol of the URI it returns a Source object. This Source
          object is an abstraction of the underlying resource. This
          resource can be accessed by a provided InputStream.
        </p>
        
  <p align="justify">
          Own protocols can be configured using the SourceFactory interface.
          Whenever the SourceResolver finds a protocol which it can't handle
          by itself, it gets a role selector for a SourceFactory and tries
          to get a component with the role name of the protocol.
          If such a factory exists, the source creation is passed on to this
          factory.
        </p>
        
  <p align="justify">
          The Source object is handled similar to any other Avalon component.
          After it has been used it must be released using SourceResolver.
          In addition the implementation of the Source object can implement
          any of the lifecycle interfaces of usual components and it gets
          all the information from the SourceResolver.
        </p>
        
  <p align="justify">
          The Source object is a lightwight object which can be extended with
          several interface. For example the XMLizable interface from the XML
          package to generate SAX events from the Source. Or the Monitorable
          interface from the monitor package to monitor the resource.
        </p>
        
  <p align="justify">
          For caching purposes the Source object offers a SourceValidity object
          which can be used in addition to the system ID of the Source to verify
          if the cache contains a valid version of the Source object.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur TAR Utilities - Overview</title>
      <authors>
        <person name="????" email="???"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          ???
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:53 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/tar/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur TAR Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur TAR Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur TAR Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:???">????</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          ???
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
      <header>
          <title>Excalibur TestCase Utilities - Overview</title>
          <authors>
              <person name="Peter Donald" email="peter@apache.org"/>
              <person name="Leif Mortenson" email="leif@tanukisoftware.com"/>
          </authors>
      </header>
      <body>
          <s1 title="Introduction">
              <p>
              This project contains utilities which can be used to write Excalibur Test Cases.
              </p>
          </s1>
      </body>
      <footer>
          <legal>
            Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
            $Revision: 1.1 $ $Date: 2002/04/05 15:11:54 $
          </legal>
      </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/testcase/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur TestCase Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur TestCase Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur TestCase Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
  <p align="justify">
              This project contains utilities which can be used to write Excalibur Test Cases.
              </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur Thread Pool Utilities - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
        <person name="Leo Simons" email="mail@leosimons.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <warn>
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </warn>
        <p>
          Avalon Excalibur's Thread Pool Management code is still under
          development.  The package is <code>org.apache.avalon.excalibur.thread</code>
          in the Scratchpad jar.  It is functional, using the no resource
          limiting pool implementation in Excalibur's Pool package.  Expect
          the interface to this change before we promote it to Excalibur.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:54 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/thread/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Thread Pool Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Thread Pool Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Thread Pool Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td bgcolor="#c0c0c0"><font size="-1" color="#023264">
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </font></td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          Avalon Excalibur's Thread Pool Management code is still under
          development.  The package is <code>org.apache.avalon.excalibur.thread</code>
          in the Scratchpad jar.  It is functional, using the no resource
          limiting pool implementation in Excalibur's Pool package.  Expect
          the interface to this change before we promote it to Excalibur.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
      <header>
          <title>Excalibur Utilities - Overview</title>
          <authors>
              <person name="Berin Loritsch" email="bloritsch@apache.org"/>
              <person name="Peter Donald" email="peter@apache.org"/>
              <person name="Leif Mortenson" email="leif@tanukisoftware.com"/>
          </authors>
      </header>
      <body>
          <s1 title="Introduction">
              <p>
              This project contains some utilities used by other Excalibur classes.
              </p>
          </s1>
      </body>
      <footer>
          <legal>
            Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
            $Revision: 1.1 $ $Date: 2002/04/05 15:11:55 $
          </legal>
      </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/util/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
              
  <p align="justify">
              This project contains some utilities used by other Excalibur classes.
              </p>
          
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur XML Resource Bundles - Overview</title>
      <authors>
        <person name="Berin Loritsch" email="bloritsch@apache.org"/>
        <person name="Leo Simons" email="mail@leosimons.com"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <warn>
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </warn>
        <p>
          Excalibur's Internationalization package is found in
          <code>org.apache.avalon.excalibur.i18n</code> (in the
          Scratchpad jar).  The XML ResourceBundle code is functional,
          but the method to access the bundles will change in the
          near future.
        </p>
        <p>
          The Avalon team recognizes the importance of good
          internationalization packages, and as a result, will do
          our best to provide this functionality officially as
          soon as we can.  We also recognize the importance of
          good design, so we do not want to rush this any more
          than we have to.
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:55 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/xmlbundle/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur XML Resource Bundles - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur XML Resource Bundles - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur XML Resource Bundles - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <div align="center">
  <table cellspacing="2" cellpadding="2" border="1">
  <tr>
  <td bgcolor="#c0c0c0"><font size="-1" color="#023264">
          This package is under development, and the API is not
          guaranteed to be the same when it is ready for release.
          You can find this in the Scratchpad.jar file if you want
          to play with it.  Do not blame us if the next release of
          Excalibur breaks your code if you use this package.
        </font></td>
  </tr>
  </table>
  </div>
        
  <p align="justify">
          Excalibur's Internationalization package is found in
          <code>org.apache.avalon.excalibur.i18n</code> (in the
          Scratchpad jar).  The XML ResourceBundle code is functional,
          but the method to access the bundles will change in the
          near future.
        </p>
        
  <p align="justify">
          The Avalon team recognizes the importance of good
          internationalization packages, and as a result, will do
          our best to provide this functionality officially as
          soon as we can.  We also recognize the importance of
          good design, so we do not want to rush this any more
          than we have to.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/api/index.html.xml
  
  Index: index.html.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
  
  <document>
    <header>
      <title>Excalibur ZIP Utilities - Overview</title>
      <authors>
        <person name="????" email="???"/>
      </authors>
    </header>
    <body>
      <s1 title="Introduction">
        <p>
          ???
        </p>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/04/05 15:11:55 $
      </legal>
    </footer>
  </document>
  
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/images/add.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/images/fix.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/images/header.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/images/jakarta-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/images/remove.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/images/update.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon-site/docs/excalibur/zip/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Excalibur ZIP Utilities - Overview</title>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
  </tr>
  <tr>
  <td colspan="2" height="2" width="100%">
  <hr size="1" noshade="">
  </td>
  </tr>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
  <br>
  <font face="arial,helvetica,sanserif">
  <br>
  <br>
  <a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
  <br>
  <br>
  <a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
  <br>
  <br>
  <font size="+1" color="#000000">About</font>
  <br>
  <font size="-1">
  <ul>
  <li>
  <a href="index.html"><font size="-1">Overview</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
  </li>
  <li>
  <a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
  </li>
  <li>
  <a href="api/index.html.xml"><font size="-1">API Docs</font></a>
  </li>
  </ul>
  </font>
  <br>
  <br>
  </font></td><td align="left" valign="top" width="*">
  <title>Excalibur ZIP Utilities - Overview</title>
  <center>
  <table width="100%">
  <tr>
  <td bgcolor="#99aabb">
  <center>
  <b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur ZIP Utilities - Overview</font></b>
  </center>
  </td>
  </tr>
  </table>
  </center>
  <br>
  <font size="-2" face="arial,helvetica,sanserif" color="#000000">
  <p>by <a href="mailto:???">????</a>
  </p>
  </font><font face="arial,helvetica,sanserif" color="#000000"></font>
  <br>
  <div align="right">
  <table cellspacing="0" cellpadding="2" border="0" width="100%">
  <tr>
  <td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
  </tr>
  <tr>
  <td><font face="arial,helvetica,sanserif" color="#000000">
  <br>
        
  <p align="justify">
          ???
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  </td>
  </tr>
  </table>
  <br>
  <table cellpadding="0" cellspacing="0" border="0" width="100%">
  <tr>
  <td>
  <hr size="1" noshade="">
  </td>
  </tr>
  <tr>
  <td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                Copyright &copy;1999-2002 by the Apache Software Foundation.
                All Rights Reserved.
              </i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  

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