hivemind-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hls...@apache.org
Subject svn commit: r411930 - in /jakarta/hivemind/trunk/library/src: documentation/content/xdocs/ documentation/content/xdocs/hivemind-lib/maven2-xdoc/ documentation/resources/images/ site/ site/resources/images/ site/xdoc/
Date Mon, 05 Jun 2006 21:57:09 GMT
Author: hlship
Date: Mon Jun  5 14:57:08 2006
New Revision: 411930

URL: http://svn.apache.org/viewvc?rev=411930&view=rev
Log:
Rework library documentation to Maven format

Added:
    jakarta/hivemind/trunk/library/src/documentation/content/xdocs/hivemind-lib/maven2-xdoc/
    jakarta/hivemind/trunk/library/src/documentation/content/xdocs/links.ent
    jakarta/hivemind/trunk/library/src/site/resources/images/PipelineCallingSequence.png
      - copied unchanged from r411898, jakarta/hivemind/trunk/library/src/documentation/resources/images/PipelineCallingSequence.png
    jakarta/hivemind/trunk/library/src/site/site.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/BeanFactoryBuilder.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/ChainBuilder.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/ChainFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/DefaultImplementationBuilder.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/EJBProxyFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/MethodInterceptorFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/NameLookup.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/PipelineFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/PlaceholderFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/RemoteExceptionCoordinator.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/ServicePropertyFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/SpringLookupFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/StrategyFactory.xml
    jakarta/hivemind/trunk/library/src/site/xdoc/index.xml
Removed:
    jakarta/hivemind/trunk/library/src/documentation/resources/images/PipelineCallingSequence.png

Added: jakarta/hivemind/trunk/library/src/documentation/content/xdocs/links.ent
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/documentation/content/xdocs/links.ent?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/documentation/content/xdocs/links.ent (added)
+++ jakarta/hivemind/trunk/library/src/documentation/content/xdocs/links.ent Mon Jun  5 14:57:08 2006
@@ -0,0 +1,166 @@
+<!-- 
+   Copyright 2004 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<!ENTITY projectroot ''>
+
+<!ENTITY apiroot '&projectroot;hivemind/apidocs/org/apache/hivemind'>
+<!ENTITY apiroot-lib '&projectroot;hivemind-lib/apidocs/org/apache/hivemind/lib'>
+
+<!ENTITY hivedoc '&projectroot;hivedocs'>
+
+<!ENTITY api.ClassFactory '<link href="&apiroot;/service/ClassFactory.html">ClassFactory</link>'>
+<!ENTITY api.ClassResolver '<link href="&apiroot;/ClassResolver.html">ClassResolver</link>'>
+<!ENTITY api.Element '<link href="&apiroot;/Element.html">Element</link>'>
+<!ENTITY api.ErrorHandler '<link href="&apiroot;/ErrorHandler.html">ErrorHandler</link>'>
+<!ENTITY api.ErrorLog '<link href="&apiroot;/ErrorLog.html">ErrorLog</link>'>
+<!ENTITY api.HiveMindTestCase '<link href="&apiroot;/test/HiveMindTestCase.html">HiveMindTestCase</link>'>
+<!ENTITY api.InterceptorStack '<link href="&apiroot;/InterceptorStack.html">InterceptorStack</link>'>
+<!ENTITY api.Messages '<link href="&apiroot;/Messages.html">Messages</link>'>
+<!ENTITY api.Module '<link href="&apiroot;/Module.html">Module</link>'>
+<!ENTITY api.ModuleDescriptorProvider '<link href="&apiroot;/ModuleDescriptorProvider.html">ModuleDescriptorProvider</link>'>
+<!ENTITY api.Registry '<link href="&apiroot;/Registry.html">Registry</link>'>
+<!ENTITY api.RegistryBuilder '<link href="&apiroot;/impl/RegistryBuilder.html">RegistryBuilder</link>'>
+<!ENTITY api.RegistryShutdownListener '<link href="&apiroot;/events/RegistryShutdownListener.html">RegistryShutdownListener</link>'>
+<!ENTITY api.Resource '<link href="&apiroot;/Resource.html">Resource</link>'>
+<!ENTITY api.ServiceImplementationFactory '<link href="&apiroot;/ServiceImplementationFactory.html">ServiceImplementationFactory</link>'>
+<!ENTITY api.ServiceImplementationFactoryParameters '<link href="&apiroot;/ServiceImplementationFactoryParameters.html">ServiceImplementationFactoryParameters</link>'>
+
+<!ENTITY api.ServiceInterceptorFactory '<link href="&apiroot;/ServiceInterceptorFactory.html">ServiceInterceptorFactory</link>'>
+<!ENTITY api.Translator '<link href="&apiroot;/schema/Translator.html">Translator</link>'>
+
+<!ENTITY api.NameLookup '<link href="&apiroot;/lib/NameLookup.html">NameLookup</link>'>
+<!ENTITY api.RemoteExceptionCoordinator '<link href="&apiroot;/lib/RemoteExceptionCoordinator.html">RemoteExceptionCoordinator</link>'>
+<!ENTITY api.RemoteExceptionListener '<link href="&apiroot;/lib/RemoteExceptionListener.html">RemoteExceptionListener</link>'>
+
+
+<!ENTITY api.BeanFactory '<link href="&apiroot-lib;/BeanFactory.html">BeanFactory</link>'>
+<!ENTITY api.GroovyModuleDescriptorProvider '<link href="&apiroot-lib;/groovy/GroovyModuleDescriptorProvider.html">GroovyModuleDescriptorProvider</link>'>
+
+<!ENTITY Spring '<link href="site:spring">Spring</link>'>
+<!ENTITY Ant '<link href="http://ant.apache.org/">Ant</link>'>
+<!ENTITY Groovy '<link href="http://groovy.codehaus.org/">Groovy</link>'>
+
+<!-- Note, these links CAN NOT currently be converted to site:descriptor#foo because Forrest 0.5.1 doesn't
+     understand the use of the '#' as an anchor. -->
+
+<!ENTITY _module '&lt;module&gt;'>
+<!ENTITY module '<link href="&projectroot;descriptor.html#module">&_module;</link>'>
+
+<!ENTITY _implementation '&lt;implementation&gt;'>
+<!ENTITY implementation '<link href="&projectroot;descriptor.html#implementation">&_implementation;</link>'>
+
+<!ENTITY _configuration-point '&lt;configuration-point&gt;'>
+<!ENTITY configuration-point '<link href="&projectroot;descriptor.html#configuration-point">&_configuration-point;</link>'>
+
+<!ENTITY _conversion '&lt;conversion&gt;'>
+<!ENTITY conversion '<link href="&projectroot;descriptor.html#conversion">&_conversion;</link>'>
+
+<!ENTITY _map '&lt;map&gt;'>
+<!ENTITY map '<link href="&projectroot;descriptor.html#map">&_map;</link>'>
+
+<!ENTITY _create-instance '&lt;create-instance&gt;'>
+<!ENTITY create-instance '<link href="&projectroot;descriptor.html#create-instance">&_create-instance;</link>'>
+
+<!ENTITY _invoke-factory '&lt;invoke-factory&gt;'>
+<!ENTITY invoke-factory '<link href="&projectroot;descriptor.html#invoke-factory">&_invoke-factory;</link>'>
+
+<!ENTITY _interceptor '&lt;interceptor&gt;'>
+<!ENTITY interceptor '<link href="&projectroot;descriptor.html#interceptor">&_interceptor;</link>'>
+
+<!ENTITY _contribution '&lt;contribution&gt;'>
+<!ENTITY contribution '<link href="&projectroot;descriptor.html#contribution">&_contribution;</link>'>
+
+<!ENTITY _service-point '&lt;service-point&gt;'>
+<!ENTITY service-point '<link href="&projectroot;descriptor.html#service-point">&_service-point;</link>'>
+
+<!ENTITY _schema '&lt;schema&gt;'>
+<!ENTITY schema '<link href="&projectroot;descriptor.html#schema">&_schema;</link>'>
+
+<!ENTITY _parameters-schema '&lt;parameters-schema&gt;'>
+<!ENTITY parameters-schema '<link href="&projectroot;descriptor.html#parameters-schema">&_parameters-schema;</link>'>
+
+<!ENTITY _element '&lt;element&gt;'>
+<!ENTITY element '<link href="&projectroot;descriptor.html#element">&_element;</link>'>
+
+<!ENTITY _attribute '&lt;attribute&gt;'>
+<!ENTITY attribute '<link href="&projectroot;descriptor.html#attribute">&_attribute;</link>'>
+
+<!ENTITY _rules '&lt;rules&gt;'>
+<!ENTITY rules '<link href="&projectroot;descriptor.html#rules">&_rules;</link>'>
+
+<!ENTITY _sub-module '&lt;sub-module&gt;'>
+<!ENTITY sub-module '<link href="&projectroot;descriptor.html#sub-module">&_sub-module;</link>'>
+
+<!ENTITY _dependency '&lt;dependency&gt;'>
+<!ENTITY dependency '<link href="&projectroot;descriptor.html#dependency">&_dependency;</link>'>
+
+<!-- XML entities for the XML processing rules (documented seperately from the rest). -->
+
+<!ENTITY _create-object '&lt;create-object&gt;'>
+<!ENTITY create-object '<link href="&projectroot;rules.html#create-object">&_create-object;</link>'>
+
+<!ENTITY _invoke-parent '&lt;invoke-parent&gt;'>
+<!ENTITY invoke-parent '<link href="&projectroot;rules.html#invoke-parent">&_invoke-parent;</link>'>
+
+<!ENTITY _read-attribute '&lt;read-attribute&gt;'>
+<!ENTITY read-attribute '<link href="&projectroot;rules.html#read-attribute">&_read-attribute;</link>'>
+
+<!ENTITY _read-content '&lt;read-content&gt;'>
+<!ENTITY read-content '<link href="&projectroot;rules.html#read-content">&_read-content;</link>'>
+
+
+<!ENTITY _set-module '&lt;set-module&gt;'>
+<!ENTITY set-module '<link href="&projectroot;rules.html#set-module">&_set-module;</link>'>
+
+<!ENTITY _set-parent '&lt;set-parent&gt;'>
+<!ENTITY set-parent '<link href="&projectroot;rules.html#set-parent">&_set-parent;</link>'>
+
+<!ENTITY _set-property '&lt;set-property&gt;'>
+<!ENTITY set-property '<link href="&projectroot;rules.html#set-property">&_set-property;</link>'>
+
+<!ENTITY _custom '&lt;custom&gt;'>
+<!ENTITY custom '<link href="&projectroot;rules.html#custom">&_custom;</link>'>
+
+<!ENTITY _push-attribute '&lt;push-attribute&gt;'>
+<!ENTITY push-attribute '<link href="&projectroot;rules.html#push-attribute">&_push-attribute;</link>'>
+
+<!ENTITY _push-content '&lt;push-content&gt;'>
+<!ENTITY push-content '<link href="&projectroot;rules.html#push-content">&_push-content;</link>'>
+
+<!-- Entities for common services and configurations. -->
+
+<!ENTITY object-reference '<link href="site:hivemind.ObjectProviders">object reference</link>'>
+<!ENTITY instance-initializer '<link href="site:instance-initialization">instance initializer</link>'>
+
+<!ENTITY hivemind.ApplicationDefaults '<link href="site:hivemind.ApplicationDefaults">hivemind.ApplicationDefaults</link>'>
+<!ENTITY hivemind.BuilderFactory '<link href="site:hivemind.BuilderFactory">hivemind.BuilderFactory</link>'>
+<!ENTITY hivemind.EagerLoad '<link href="site:hivemind.EagerLoad">hivemind.EagerLoad</link>'>
+<!ENTITY hivemind.FactoryDefaults '<link href="site:hivemind.FactoryDefaults">hivemind.FactoryDefaults</link>'>
+<!ENTITY hivemind.LoggingInterceptor '<link href="site:hivemind.LoggingInterceptor">hivemind.LoggingInterceptor</link>'>
+<!ENTITY hivemind.ObjectProviders '<link href="site:hivemind.ObjectProviders">hivemind.ObjectProviders</link>'>
+<!ENTITY hivemind.ServiceModels 'hivemind.ServiceModels'>
+<!ENTITY hivemind.SymbolSources '<link href="site:hivemind.SymbolSources">hivemind.SymbolSources</link>'>
+<!ENTITY hivemind.ThreadEventNotifier 'hivemind.ThreadEventNotifier'>
+<!ENTITY hivemind.ThreadLocale '<link href="site:hivemind.ThreadLocale">hivemind.ThreadLocale</link>'>
+<!ENTITY hivemind.ThreadLocalStorage '<link href="site:hivemind.ThreadLocalStorage">hivemind.ThreadLocalStorage</link>'>
+<!ENTITY hivemind.Translators '<link href="site:hivemind.Translators">hivemind.Translators</link>'>
+
+<!ENTITY hivemind.lib.EJBProxyFactory '<link href="site:hivemind.lib.EJBProxyFactory">hivemind.lib.EJBProxyFactory</link>'>
+<!ENTITY hivemind.lib.NameLookup '<link href="site:hivemind.lib.NameLookup">hivemind.lib.NameLookup</link>'>
+<!ENTITY hivemind.lib.RemoteExceptionCoordinator '<link href="site:hivemind.lib.RemoteExceptionCoordinator">hivemind.lib.RemoteExceptionCoordinator</link>'>
+<!ENTITY hivemind.lib.ChainBuilder '<link href="site:hivemind.lib.ChainBuilder">hivemind.lib.ChainBuilder</link>'>
+<!ENTITY hivemind.lib.ChainFactory '<link href="site:hivemind.lib.ChainFactory">hivemind.lib.ChainFactory</link>'>
+<!ENTITY hivemind.lib.MethodInterceptorFactory '<link href="site:hivemind.lib.MethodInterceptorFactory">hivemind.lib.MethodInterceptorFactory</link>'>

Added: jakarta/hivemind/trunk/library/src/site/site.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/site.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/site.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/site.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Maven">
+    <bannerLeft>
+        <name>Jakarta</name>
+        <href>http://jakarta.apache.org/</href>
+    </bannerLeft>
+    <bannerRight>
+        <name>HiveMind Library</name>
+        <href>http://jakarta.apache.org/hivemind/library/</href>
+    </bannerRight>
+    <body>
+        <links>
+            <item name="Apache" href="http://www.apache.org/"/>
+        </links>
+        <menu name="HiveMind Library">
+            <item name="Introduction" href="index.html"/>
+            <item name="BeanFactoryBuilder" href="BeanFactoryBuilder.html"/>
+            <item name="ChainBuilder" href="ChainBuilder.html"/>
+            <item name="ChainFactory" href="ChainFactory.html"/>
+            <item name="DefaultImplementationBuilder" href="DefaultImplementationBuilder.html"/>
+            <item name="EJBProxyFactory" href="EJBProxyFactory.html"/>
+            <item name="MethodInterceptorFactory" href="MethodInterceptorFactory.html"/>
+            <item name="NameLookup" href="NameLookup.html"/>
+            <item name="PipelineFactory" href="PipelineFactory.html"/>
+            <item name="RemoteExceptionCoordinator" href="RemoteExceptionCoordinator.html"/>
+            <item name="ServicePropertyFactory" href="ServicePropertyFactory.html"/>
+            <item name="StrategyFactory" href="StrategyFactory.html"/>
+        </menu> ${reports} </body>
+</project>

Added: jakarta/hivemind/trunk/library/src/site/xdoc/BeanFactoryBuilder.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/BeanFactoryBuilder.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/BeanFactoryBuilder.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/BeanFactoryBuilder.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.BeanFactoryBuilder Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="hivedocs/service/hivemind.lib.BeanFactoryBuilder.html"> 
+      BeanFactoryBuilder</a> services is used to construct a 
+      <a href="apidocs/org/apache/hivemind/lib/BeanFactory.html">BeanFactory</a> instance. An BeanFactory will <em>vend out</em> 
+      instances of classes. A logical name is mapped to a particular Java class 
+      to be instantiated. </p>
+    
+      <p> Client code can retrieve beans via the factory's <code>get()</code> 
+      method. Beans are retrieved using a <em>locator</em>, which consists of a 
+      name and an optional initializer seperated by commas. The initializer is 
+      provided to the bean via an alternate constructor that takes a single 
+      string parameter. Initializers are used, typically, to initialize 
+      properties of the bean, but the actual implementation is internal to the 
+      bean class. </p>
+    
+      <section name="Usage">
+      
+      
+         <p> The service takes a single parameter element:</p>
+      
+         <source xml:space="preserve">
+&lt;factory vend-class="..." configuration-id="..." default-cacheable="..."/&gt;
+</source>
+      <p> The <code>vend-class</code> attribute is the name of a class all 
+        vended objects must be assignable to (as a class or interface). This is 
+        used to validate contributed bean definitions. By default it is 
+        <code>java.lang.Object</code>.</p>
+      <p>The <code>configuration-id</code> is the id of the companion 
+        configuration (used to define object classes).</p>
+      <p>The optional <code>default-cacheable</code> attribute sets the default 
+        for whether instantiated beans should be cached for reuse. By default 
+        this is true, which is appropriate for most use cases where the vended 
+        objects are immutable.</p>
+    </section>
+    
+      <section name="Configuration">
+      
+      
+         <p>Each BeanFactory service must have a configuration, into which beans 
+        are contributed:</p>
+      
+         <source xml:space="preserve">
+&lt;configuration-point id="..." schema-id="hivemind.lib.BeanFactoryContribution"/&gt;
+         </source>
+      <p>Contributions into the configuration are used to specify the bean 
+        classes to instantiate, as:</p>
+      <source xml:space="preserve">
+&lt;bean name="..." class="..." cacheable="..."/&gt;  </source>
+      <p> <code>name</code> is a unique name used to reference an instance of 
+        the class. </p>
+      <p><code>class</code> is the Java class to instantiate.</p>
+      <p><code>cacheable</code> determines whether instances of the class are 
+        cacheable (that is, have immutable internal state and should be 
+        reused), or non-cacheable (presumably, because of mutable internal 
+        state).</p>
+    </section>
+  
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/ChainBuilder.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/ChainBuilder.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/ChainBuilder.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/ChainBuilder.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.ChainBuilder Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="hivedocs/service/hivemind.lib.ChainBuilder.html">ChainBuilder</a> service implements the 
+      Gang of Four <em>Chain of Command</em> pattern. </p>
+    
+      <p> The ChainBuilder is provided with: </p>
+    
+      <ul>
+      
+         <li>A command interface</li>
+      
+         <li>A list of <em>commands</em> that implements the command interface</li>
+      
+         <li>A <em>toString</em> value (to be returned by the chain in response to <code>toString()</code>)</li>
+    
+      </ul>
+    
+      <p> From this, the ChainBuilder creates a new chain implementation object. The chain object implements the command 
+      interface. </p>
+    
+      <p> Invoking a method on the chain object will, in turn, re-invoke the same method, with the same parameters, on 
+      each command object. </p>
+    
+      <p> If a command object returns a value that is not null, false or 0, then the chain terminates and returns that 
+      value. Command methods may take any number of parameters and may return any value type (including void).</p>
+    
+      <p> Commands are free to throw a checked or unchecked exception; these are not caught by the chain. </p>
+  
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/ChainFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/ChainFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/ChainFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/ChainFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.ChainFactory Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="hivedocs/service/hivemind.lib.ChainFactory.html">ChainFactory</a> service implementation 
+      factory is based on <a href="site:hivemind.lib.ChainBuilder">hivemind.lib.ChainBuilder</a>. The chain's command interface is the service interface, and the 
+      service parameters identify the configuration that identifies the chain of commands. </p>
+    
+      <section name="Usage">
+      
+      
+         <p> The factory expects a single parameter element: </p>
+      
+         <source xml:space="preserve">
+&lt;construct configuration-id="..."/&gt;      
+      </source>
+      <p>The configuration-id identifies a configuration that implements the <a href="hivedocs/schema/hivemind.lib.ChainContribution.html">hivemind.lib.ChainContribution</a> schema. </p>
+    </section>
+    
+      <section name="Configuration">
+      
+      
+         <p> The configuration identifies the command objects that form the chain, including the order of the commands: 
+        </p>
+      
+         <source xml:space="preserve"> 
+&lt;command id="..." before="..." after="..." object="..."/&gt;
+ </source>
+      <p> Each command has an id (which is qualified with the module id) and may specify a list of commands which 
+        precede or follow it. </p>
+      <p> The object is specified as an <a href="../hivemind/hivedocs/config/ObjectProviders.html">object reference</a>. </p>
+    </section>
+  
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/DefaultImplementationBuilder.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/DefaultImplementationBuilder.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/DefaultImplementationBuilder.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/DefaultImplementationBuilder.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.DefaultImplementationBuilder Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="hivedocs/service/hivemind.lib.DefaultImplementationBuilder.html"> 
+      DefaultImplementationBuilder</a> service is used to create default 
+      implementations of interfaces. As described in the <a href="apidocs/org/apache/hivemind/lib/DefaultImplementationBuilder.html"> service interface 
+      JavaDoc</a>, methods return null, 0 or false (depending on return 
+      type) and otherwise do nothing. </p>
+	
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/EJBProxyFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/EJBProxyFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/EJBProxyFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/EJBProxyFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.EJBProxyFactory Service</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="hivedocs/service/hivemind.lib.EJBProxyFactory.html">
+			EJBProxyFactory</a> service is used to construct a HiveMind service
+			that delegates to an EJB stateless session bean. The EJB's remote
+			interface is the service interface. When the first service method is
+			invoked, the fabricated proxy will perform a JNDI lookup (using the <a href="site:hivemind.lib.NameLookup">NameLookup</a> service), and
+			invokes <code>create()</code> on the returned home interface.</p>
+		
+      <p>The single service instance will be shared by all threads.</p>
+		
+      <p>The service expects a single parameter element:</p>
+		
+      <source xml:space="preserve">
+&lt;construct home-interface="..." jndi-name="..." name-lookup-service="..."/&gt; </source>
+		<p>The <code>home-interface</code> attribute is the complete class name for
+			the home interface, and is required.</p>
+		<p>The <code>jndi-name</code> attribute is the name of the EJB's home
+			interface, also required.</p>
+		<p>The <code>name-lookup-service-id</code> attribute is optional and rarely
+			used; it is an alternate service implementing the <a href="../hivemind/apidocs/org/apache/hivemind/lib/NameLookup.html">NameLookup</a> 
+			interface to be used for JNDI lookups.</p>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/MethodInterceptorFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/MethodInterceptorFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/MethodInterceptorFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/MethodInterceptorFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.MethodInterceptorFactory Service</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="hivedocs/service/hivemind.lib.MethodInterceptorFactory.html">
+		    MethodInterceptorFactory</a> is a service interceptor factory supporting
+		    AOP Alliance MethodInterceptors as service interceptors.</p>
+		
+      <p>The <code>impl</code> parameter identifies the <code>MethodInterceptor</code> to
+		use.  It can be any object implementing the <code>MethodInterceptor</code> interface.</p>
+		
+      <source xml:space="preserve">
+       &lt;interceptor service-id="hivemind.lib.MethodInterceptorFactory"&gt;
+         &lt;impl object="service:SomeService" /&gt;
+       &lt;/interceptor&gt; 
+    
+       &lt;interceptor service-id="hivemind.lib.MethodInterceptorFactory"&gt;
+         &lt;impl object="instance:com.myco.interceptor.SecurityInterceptor" /&gt;
+       &lt;/interceptor&gt;
+    </source>
+	
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/NameLookup.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/NameLookup.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/NameLookup.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/NameLookup.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.NameLookup Service</title>
+   </properties>
+   <body>
+  	
+  
+
+      <p>
+The <a href="hivedocs/service/hivemind.lib.NameLookup.html">NameLookup</a>
+service is a thin wrapper around JNDI lookup.  It is used by
+the <a href="site:hivemind.lib.EJBProxyFactory">EJBProxyFactory</a> service to locate
+EJBs.
+</p>
+
+
+      <p>The implementation makes use of three symbols (all of whose values default 
+  to null):</p>
+
+      <ul>
+
+         <li>java.naming.factory.initial</li>	
+
+         <li>java.naming.factory.url.pkgs</li>
+
+         <li>java.naming.provider.url</li>
+
+      </ul>
+
+
+
+      <p>
+By supplying overrides of these values, it is possible to configure how the NameLookup service
+generates the InitialContext used for performing the JNDI lookup.
+</p>
+
+	
+  
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/PipelineFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/PipelineFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/PipelineFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/PipelineFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.PipelineFactory Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="hivedocs/service/hivemind.lib.PipelineFactory.html"> 
+      PipelineFactory</a> service is used to construct a <em>pipeline</em> 
+      consisting of a series of filters. The filters implement an interface 
+      related to the service interface.</p>
+    
+      <p> Each method of the service interface has a corresponding method in the 
+      filter interface with an identical signature, except that an additional 
+      parameter, whose type matches the <em>service interface</em> has been 
+      added. </p>
+    
+      <p> For example, a service interface for transforming a string: </p>
+    
+      <source xml:space="preserve">
+package mypackage; 
+
+public interface StringTransformService
+{
+  public String transform(String inputValue); 
+} </source>
+    <p> The corresponding filter interface: </p>
+    <source xml:space="preserve">
+package mypackage;
+
+public interface StringTransformFilter
+{
+  public String transform(String inputValue, StringTransformService service);
+}
+</source>
+    <p> The service parameter may appear at any point in the parameter list, 
+      though the convention of listing it last is recommended. </p>
+    <p> The filters in a pipeline are chained together as follows: </p>
+    <img alt="Pipeline Calling Sequence" src="images/PipelineCallingSequence.png"/>
+    <p> The bridge objects implement the <em>service interface</em> (and are 
+      created dynamically at runtime). The <em>terminator</em> at the end also 
+      implements the service interface. This is an <a href="../hivemind/hivedocs/config/ObjectProviders.html">object reference</a> (it can be
+      an object or a service) if 
+      no terminator is specified, a <a href="site:hivemind.lib.DefaultImplementationBuilder">default 
+      implementation</a> is created and used. Only a single terminator is 
+      allowed.</p>
+    <p> A pipeline is always created in terms of a service and a configuration. 
+      The service defines the service interface and identifies a configuration. 
+      The configuration conforms to the <code>hivemind.lib.Pipeline</code> 
+      schema and is used to specify filters and the terminator. Filters may be 
+      ordered much like <a href="../descriptor.html#interceptor">&lt;interceptor&gt;</a>s, using <code>before</code> and 
+      <code>after</code> attributes. This allows different modules to 
+      contribute filters into the service's pipeline. </p>
+    <section name="Usage">
+      
+      <p> The factory expects a single parameter element: </p>
+      <source xml:space="preserve">
+&lt;create-pipeline filter-interface="..." configuration-id="..." terminator="..."/&gt;</source>
+      <p> The <code>filter-interface</code> attribute is the complete class 
+        name of the filter interface. </p>
+      <p>The <code>configuration-id</code> is the id of the companion 
+        configuration (used to define filters).</p>
+      <p>The optional <code>terminator</code> attribute is used to 
+        specify an <a href="../hivemind/hivedocs/config/ObjectProviders.html">object reference</a>. A terminator may also be 
+        contributed into the pipeline configuration.</p>
+    </section>
+    <section name="Configuration">
+      
+      <p>Each pipeline service must have a configuration, into which filters 
+        are contributed:</p>
+      <source xml:space="preserve">
+&lt;configuration-point id="..." schema-id="hivemind.lib.Pipeline"/&gt;</source>
+    </section>
+    <section name="Contributions">
+      
+      <p>Contributions into the configuration are used to specify the filters 
+        and the terminator.</p>
+      <subsection name="filter">
+        
+        <source xml:space="preserve">
+&lt;filter name="..." before="..." after="..." object="..."/&gt; </source>
+        <p>Contributes a filter. The optional <code>before</code> 
+          and <code>after</code> attributes are lists of the ids of other 
+          filters in the pipeline, used to set the ordering of the filters. 
+          They may be comma-seperated lists of filter ids (or filter names), or 
+          simple <code>*</code> to indicate absolute positioning. </p>
+          <p>
+            The <code>object</code> attribute is the filter object itself, an
+            <a href="../hivemind/hivedocs/config/ObjectProviders.html">object reference</a> to an object implementing the <em>filter interface</em>.
+          </p>
+      </subsection>
+
+      <subsection name="terminator">
+        
+        <source xml:space="preserve">&lt;terminator object="..."/&gt;</source>
+        <p> Specifies the terminator for the pipeline, as an <a href="../hivemind/hivedocs/config/ObjectProviders.html">object reference</a> to an object
+          implementing the <em>service interface</em>. Only a single 
+          terminator may be specified, and the terminator service provided in 
+          the factory parameters takes precendence over a terminator in the 
+          configuration. </p>
+      </subsection>
+
+    </section>
+  </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/PlaceholderFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/PlaceholderFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/PlaceholderFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/PlaceholderFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.PlaceholderFactory Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="hivedocs/service/hivemind.lib.PlaceholderFactory.html"> 
+      PlaceholderFactory</a> service is a service implementation factory 
+      that uses the <a href="site:hivemind.lib.DefaultImplementationBuilder">DefaultImplementationBuilder</a> 
+      service to create placeholder implementations for services. Placeholders 
+      do nothing at all.</p>
+	
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/RemoteExceptionCoordinator.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/RemoteExceptionCoordinator.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/RemoteExceptionCoordinator.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/RemoteExceptionCoordinator.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.RemoteExceptionCoordinator Service</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="hivedocs/service/hivemind.lib.RemoteExceptionCoordinator.html">
+			RemoteExceptionCoordinator</a> is used to propogate notifications of
+			remote exceptions throughout the HiveMind repository. When any individual
+			service encounters a remote exception, it notifies all listeners, who
+			release all remote object proxies.</p>
+		
+      <p>The service interface, <a href="../hivemind/apidocs/org/apache/hivemind/lib/RemoteExceptionCoordinator.html">RemoteExceptionCoordinator</a>, allows objects
+			that implement the <a href="../hivemind/apidocs/org/apache/hivemind/lib/RemoteExceptionListener.html">RemoteExceptionListener</a> interface to be
+			registered for notification, and includes a method for firing
+			notifications.</p>
+	
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/ServicePropertyFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/ServicePropertyFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/ServicePropertyFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/ServicePropertyFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.ServicePropertyFactory Service</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="hivedocs/service/hivemind.lib.ServicePropertyFactory.html">
+			ServicePropertyFactory</a> exposes a property of a service as a new service.
+      The property's type must the same as (or assignable to) the service interface.
+      </p>
+      
+      
+      <p>On each invocation of a service method, the property is re-acquired from
+        the property source service, and the method reinvoked on the active value.
+      This is useful when the value of the property can change at different times ...
+      by using this factory,
+      and not the <code>service-property</code>  
+         <a href="../hivemind/hivedocs/config/ObjectProviders.html">object provider</a>,
+      your code will always access the current value.
+      </p>
+      
+      
+      <p>
+        This can invaluable when a small number of services use the threaded or pooled service models.
+        Other services can access information in those services transparently, without themselves having
+        to be threaded or pooled.
+      </p>
+      
+      
+      <p>
+        A single parameter element is expected:
+      </p>
+      
+      
+      <source xml:space="preserve">
+&lt;construct service-id="..." property="..."/&gt;      
+      </source>
+      
+      <p>
+        Both attributes are required. 
+      </p>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/SpringLookupFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/SpringLookupFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/SpringLookupFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/SpringLookupFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.SpringLookupFactory Service</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="hivedocs/service/hivemind.lib.SpringLookupFactory.html">
+			SpringLookupFactory</a> supports integration with the <a href="site:spring">Spring</a> 
+			framework, another open-source
+			lightweight container. SpringLookupFactory is a service constructor that
+			obtains a core service implementation from a Spring <code>BeanFactory</code>
+			.</p>
+		
+      <p>By default, the <code>BeanFactory</code> is 
+      the 
+      <a href="hivedocs/service/hivemind.lib.DefaultSpringBeanFactory.html">DefaultSpringBeanFactory</a>        
+      (which is a projection of the BeanFactory held by the
+          <a href="hivedocs/service/hivemind.lib.DefaultSpringBeanFactoryHolder.html">
+			DefaultSpringBeanFactoryHolder</a> service).
+
+      Part of your application startup
+			code requires that you start a Spring instance and inform the <a href="apidocs/org/apache/hivemind/lib/SpringBeanFactoryHolder.html#setBeanFactory(org.springframework.beans.factory.BeanFactory)">DefaultSpringBeanFactoryHolder</a> about it.</p>
+		
+      <p>The SpringLookupFactory expects exactly <em>one</em> parameter element:</p>
+		
+      <source xml:space="preserve">
+&lt;lookup-bean name="..." bean-factory="..."/&gt; </source>
+		<p>The <code>name</code> attribute is the name of the bean to look for
+			inside the Spring BeanFactory.</p>
+		<p>The optional <code>bean-factory</code> attribute is an <a href="../hivemind/hivedocs/config/ObjectProviders.html">object reference</a> that
+      allows an alternate Spring BeanFactory to be used.</p>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/StrategyFactory.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/StrategyFactory.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/StrategyFactory.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/StrategyFactory.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>hivemind.lib.StrategyFactory Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="hivedocs/service/hivemind.lib.StrategyFactory.html"> 
+      StrategyFactory</a> service is used to create a service implementation
+      based on a service interface and a number of <em>strategies</em> implementing that interface.</p>
+      
+      <p>
+        The class of the first parameter of each method is used to select the correct strategy instance to
+        delegate the method invocation to.  
+      </p>
+      
+      <p>
+        The class-to-strategy lookup understands inheritance. If an exact match for a class is not found,
+        then the search works up the inheritance chain.  First, it checks all the super-classes, working upwards,
+        but skipping java.lang.Object. It then searches all the interfaces directly or indirectly implemented by
+        the search class.  Finally, java.lang.Object is checked.  It is an exception if no match is found (so you should
+        almost always include a strategy for java.lang.Object).
+      </p>
+      
+      
+    
+      <section name="Usage">
+      
+      
+         <p> The factory expects a single parameter element: </p>
+      
+         <source xml:space="preserve">
+&lt;construct configuration-id="..."/&gt;</source>
+      <p>The <code>configuration-id</code> is the id of the companion 
+        configuration (used to define classes and strategies).</p>
+    </section>
+    
+      <section name="Configuration">
+      
+      
+         <p>Each srevice constructed by StrategyFactory must have a configuration, into which strategies 
+        are contributed:</p>
+      
+         <source xml:space="preserve">
+&lt;configuration-point id="..." schema-id="hivemind.lib.StrategyRegistry"/&gt;</source>
+    </section>
+    
+      <section name="Contributions">
+      
+      
+         <p>Contributions into the configuration are used to specify classes to match, and the corresponding strategy to use.</p>
+      
+         <subsection name="strategy">
+        
+        
+            <source xml:space="preserve">
+&lt;strategy class="..." object="..."/&gt; </source>
+        <p>Contributes a strategy. The <code>class</code> attribute defines the class to match against, the 
+          <code>object</code> attribute provides the actual strategy object (which must implement the service 
+          interface). </p>
+      </subsection>
+    
+      </section>
+  
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/library/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/jakarta/hivemind/trunk/library/src/site/xdoc/index.xml?rev=411930&view=auto
==============================================================================
--- jakarta/hivemind/trunk/library/src/site/xdoc/index.xml (added)
+++ jakarta/hivemind/trunk/library/src/site/xdoc/index.xml Mon Jun  5 14:57:08 2006
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<document>
+   <properties>
+      <title>Module: hivemind.lib</title>
+   </properties>
+   <body>
+
+
+      <p>
+The HiveMind standard library (module 
+<a href="hivedocs/module/hivemind.lib.html">hivemind.lib</a>), provides common
+functionality used in most HiveMind applications.
+</p>
+
+    
+  
+   </body>
+</document>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org


Mime
View raw message