mcconnell    2002/08/24 19:50:28

  Added:       meta/src/xdocs context.xml dependencies.xml extensions.xml
                        index.xml list.xml logging.xml menu.xml pending.xml
                        services.xml stages.xml tools.xml type.xml
               meta/src/xdocs/images Type.gif
  Log:
  Site docs for the meta info model.
  
  Revision  Changes    Path
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/context.xml
  
  Index: context.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Context Descriptors</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>
  The org.apache.excalibur.meta.info.ContextDescriptor class describes the set 
of context entries that a component may be depedent on.  Context entries 
declare a context key and the classname of the value that the component expects 
to receive.  A compliant container will ensure that a context object supplied 
to a component under the Contextualize phase can access required context 
entries with assurance that the value will be supplied under the correct key as 
as an instance of the required type.  The supply of optional context entries is 
a container concern with the single exception that a container must ensure that 
the an optional entry corresponds to the type requirested by the componet 
context entry.   
  </p>
  
        <s2 title="XML Schema">
  
  <source>
  
    <font color="gray"><i>&lt;!--
    Example of a component meta info external XML form 
    for a context descriptor within a type. The element 
    contains the information declaring the context entries
    that the componet will expect to receive, the respective
    types the the context values shall conform to, and if
    the context entry is optional or required.
    --&gt;</i></font>
  
    &lt;type&gt;
  
      <font color="gray"><i>&lt;!-- 
      Declaration of the context constraints for the compoent type. 
      The "type" attribute is the name of an interface derived from the default
      contenxt interface org.apache.avalon.framework.context.Context 
      --&gt;</i></font>
  
      &lt;context type="<font color="darkred">MyContextInterface</font>"&gt;
  
        <font color="gray"><i>&lt;!-- 
        Declaration of an entry in a context object, the "key" is
        the key used by a component to locate the context entry,
        the "type" is the classname of value (typically an interface)
        or primative type.  The default value is java.lang.String.
        The "optional" attribute is a boolean value derived from the 
        TRUE or FALSE that indicates if the context value must be 
        provided or not (default is FALSE). 
        --&gt;</i></font>
  
        &lt;entry key="<font color="darkred">base</font>" type="<font 
color="darkred">java.io.File</font>"/&gt;
        &lt;entry key="<font color="darkred">mode</font>" optional="<font 
color="darkred">TRUE</font>"/&gt;
  
      &lt;/context&gt;
  
    &lt;/type&gt;
  
  </source>
  
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/dependencies.xml
  
  Index: dependencies.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Service Dependencies</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>
  The org.apache.excalibur.meta.info.DependencyDescriptor class associates a 
rol name with a version interface reference.  A depedency is a references to a 
service provided by a component. A container will typically provide services to 
resolve service providers with components declaring depedencies by matching 
provider and dependency declaration references.
  </p>
        <s2 title="XML Schema">
  
  <source>
  
    <font color="gray"><i>&lt;!--
    Example of a component meta info external XML form 
    for a set of service descriptors within a type. A 
    services elememnt containtains 0..n servie elements.
    Each service element contains the role name together 
    with a version interface reference.
    --&gt;</i></font>
  
    &lt;type&gt;
  
      <font color="gray"><i>&lt;!-- 
      Declaration of the set of dependecies that this component type has on 
      component suppliers.  Dependency declarations define the role name 
      that the component will use to access a service via a service
      or component manager.  The service element identifies a service 
      descriptor that is publised by a potential supplier component. 
      A dependecy may be declared as optional by setting the optional 
      attribute value to TRUE.  The default value for optional is FALSE.
      --&gt;</i></font>
  
      &lt;dependencies&gt;
  
        <font color="gray"><i>&lt;!-- 
        A dependecy declaration. In the following example the optional 
        attribute is redundant as it is equivalent to the default value
        but is included here for completness.
        --&gt;</i></font>
    
        &lt;dependency optional="<font color="darkred">FALSE</font>"&gt;
    
          <font color="gray"><i>&lt;!-- 
          The role name that the component will use as the argument to 
          lookup. The default value is the value of the service type 
          attribute listed below.
          --&gt;</i></font>
    
          &lt;role&gt;<font color="darkred">my-transformer</font>&lt;/role&gt;
    
          <font color="gray"><i>&lt;!-- 
          service reference containing the classname of the service interface
          and the version value where version defaults to 1.0 
          --&gt;</i></font>
  
          &lt;reference type="<font 
color="darkred">org.apache.cocoon.api.Transformer</font>" version="<font 
color="darkred">1.1</font>"/&gt;
  
          <font color="gray"><i>&lt;!-- the set of attributes associated with 
the dependecy --&gt;</i></font>
  
          &lt;attributes&gt;
  
             <font color="gray"><i>&lt;!-- 
             Service type constraints go here.
             Need some relevant examples. 
             --&gt;</i></font>
  
          &lt;/attributes&gt;
  
        &lt;/dependency&gt;
  
      &lt;/dependencies&gt;
  
    &lt;/type&gt;
  
  </source>
  
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/extensions.xml
  
  Index: extensions.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Extension Descriptors</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>
  The org.apache.excalibur.meta.info.ExtensionDescriptor class declares tha 
ability of a component implementation to provide support for the handling of 
another component declararing a lifecycle stage interface dependency.  For 
example, component A may declare that it is capable of supporting lifecycle 
interface X and component B may declare that it requires a handler for 
lifecycle stage interface X.  A compliant container will handle the association 
of a component capable of handling the the lifecycle stage interface with the 
component declaring the stage dependency.
  </p>
  
        <s2 title="XML Schema">
  
  <source>
  
    <font color="gray"><i>&lt;!--
    Example of a component meta info external XML form 
    for a set of extension desclarations.  Each extension 
    declaration declares the ability of this componet to 
    provide support for extension phase handling for a 
    lifecycle stage interface declared under each respective
    reference element.
    --&gt;</i></font>
  
    &lt;type&gt;
  
      &lt;extensions&gt;
        &lt;extension&gt;
           &lt;name&gt;<font 
color="darkred">a-security-solution</font>&lt;/name&gt;
           &lt;reference type="<font color="darkred">Securable</font>"/&gt;
        &lt;/extension&gt;
      &lt;/extensions&gt;
  
    &lt;/type&gt;
  
  </source>
  
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Meta Model Overview</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>The Meta Model is an object model describing a type of Avalon component.
  The meta model encompasses all information about a component that is not
  specified by its work interface and/or lifecycle interfaces.
  Specifically, the Meta Model allows for specification of
  lifecycle-related constraints/requirments, ie Context, Configuration,
  Parameter, and Dependency constraints/requirments.
  </p>
  <p>
  The Meta Model API is a set of well-known interfaces and classes that
  can be used to provide a runtime representation of the meta model.
  </p>
  <p>
  The Meta Model DTDs are a set of well-known XML DTDs that provide a
  mapping of the Meta Model API in XML.
  </p>
  <p>
  The Meta Model XML API provides an implementation of the Meta Model API
  that takes XML documents following the Meta Model DTDs as source.
  </p>
  <p>
  The Meta Model should be well-known to all avalonized applications.
  Avalon Containers should share as much of a common meta model as
  possible. It should be easy to implement support for the common meta
  model in an Avalon Container.
  </p>
  
  <p>
  The Meta Model should allow for easy extensibility to provide additional
  container-specific functionality. It should be flexible to allow for
  dynamic and/or runtime manageable ("hot-pluggable") containers to
  function properly.
  </p>
  <p>
  It should provide support for both linear and hierarchical metadata.
  </p>
  
      </s1>
      <s1 title="Design Constraints">
  
  <p>The Meta Model should be restricted to the same problem domain as avalon
  itself: it should be specifically about enabling COP. It should be small
  in terms of code size, footprint, resource consumption, just like avalon
  framework. It should be well-documented.</p>
  
  <p>ECM is stable and phoenix is in beta. The meta model should provide as
  much interoperability with and support for these projects as possible.</p>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/list.xml
  
  Index: list.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Mailing List</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
    <body>
  
      <s1 title="Mailing Lists">
  <p>
  The Avalon Meta Model is part of the Apache Avalon Project. The <a 
href="http://jakarta.apache.org/site/mail2.html#Avalon";>Avalon User list</a> is 
available for general questions and queries relating to Avalon initiatives.
  </p>
      </s1>
  
    </body>
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/logging.xml
  
  Index: logging.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Logging Descriptors</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>
  The org.apache.excalibur.meta.info.LoggerDescriptor class describes the set 
of logging channels that the component requires. The name of each logging 
channel is relative to the logging channel passed to the component.  For 
example, a component hosted in a container names aaa/bbb/ccc will be supplied 
with a logging with a catagory of aaa.bbb.ccc.your-component and the logging 
categories defined in the meta-info model will be appended to that (using the 
period as a category delimiter).
  </p>
  
        <s2 title="XML Schema">
  
  <source>
  
    <font color="gray"><i>&lt;!--
    Example of a component meta info external XML form 
    for a logging descriptor within a type. The element 
    contains the information required to construct an 
    instance of org.apache.excalibur.meta.info.LoggerDescriptor.  
    It includes information about subsidiary logging categories 
    required by the component type.
    --&gt;</i></font>
  
    &lt;type&gt;
  
      <font color="gray"><i>&lt;!--
      The set of logging catagories the component uses. 
      --&gt;</i></font>
  
      &lt;loggers&gt;
  
        &lt;logger name=&quot;<font color="darkred">store</font>&quot;/&gt;
        &lt;logger name=&quot;<font 
color="darkred">store.cache</font>&quot;/&gt;
        &lt;logger name=&quot;<font color="darkred">verifier</font>&quot;/&gt;
  
      &lt;/loggers&gt;
  
    &lt;/type&gt;
  
  </source>
  
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/menu.xml
  
  Index: menu.xml
  ===================================================================
  <project name="Avalon Merlin"
      href="http://jakarta.apache.org/avalon/merlin";>
  
      <title>Merlin Service Management</title>
      <logo href="images/merlin_logo.gif">Merlin</logo>
  
      <body>
  
          <menu name="Essentials">
              <item name="Overview" href="index.html"/>
              <item name="Tools" href="tools.html"/>
          </menu>
  
          <menu name="Facilities">
              <item name="Type Definition" href="type.html"/>
              <item name="Logging Criteria" href="logging.html"/>
              <item name="Context Criteria" href="context.html"/>
              <item name="Services" href="services.html"/>
              <item name="Dependencies" href="dependencies.html"/>
              <item name="Extensions" href="extensions.html"/>
              <item name="Stages" href="stages.html"/>
          </menu>
  
          <menu name="Links">
              <item name="Mailing List" href="list.html"/>
              <item name="Merlin" 
href="http://jakarta.apache.org/avalon/merlin"/>
              <item name="Fortress" 
href="http://jakarta.apache.org/avalon/excalibur/fortress"/>
          </menu>
  
          <menu name="Reference">
              <item name="Meta Info API" href="api/"/>
          </menu>
  
      </body>
    
  </project>
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/pending.xml
  
  Index: pending.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Infomation Unavailable</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
    <body>
  
      <s1 title="Unavailable">
  <p>
  The information you have selected is cutrrently in development.  PLease check 
back soon.
  </p>
      </s1>
  
    </body>
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/services.xml
  
  Index: services.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Service Descriptors</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>
  The org.apache.excalibur.meta.info.ServiceDescriptor class describes the a 
service that a component provides.  Serices represent the value-proposition 
that the component offers to its clients, including other components that my 
declare dependencies that a container will normally resolve in a container 
independent manner.  Services are exposed to clients though a ServiceManager 
(or ComponentManager). The client will typically invoke the <code>lookup</code> 
operation, passing the role name of the to the manager.  The object retured is 
a reference to a component providing the requested service (or a proxy that 
isolates the component from the offered service).  Role names and the services 
that the role refers to are declared in depedency entries within the meta 
model.    
  </p>
        <s2 title="XML Schema">
  
  <source>
  
    <font color="gray"><i>&lt;!--
    Example of a component meta info external XML form 
    for a set of service descriptors within a type. A 
    services elememnt containtains 0..n servie elements.
    Each service element contains the role name together 
    with a version interface reference.
    --&gt;</i></font>
  
    &lt;type&gt;
  
      <font color="gray"><i>&lt;!--
      Declaration of the set of services that this component is capable 
      of supplying.  Each service declarared under the services element
      may be referenced by other component info descriptions as a 
      dependecy.  A container is responsible for the assemably of 
      components based on the connection of supply components to 
      consumer components via a common service description. 
      --&gt;</i></font>
  
      &lt;services&gt;
  
        <font color="gray"><i>&lt;!-- 
        The service type is the classname of an interface and the
        version identifier qualifes the interface version.  The 
        default version value is 1.0.
        --&gt;</i></font>
  
        &lt;service&gt;
  
          &lt;reference type="<font color="darkred">SimpleService</font>" 
version="<font color="darkred">3.2</font>"&gt;
  
          &lt;attributes&gt;
  
             <font color="gray"><i>&lt;!--
             Service type attributes go here.
  
             Need some relevant examples. 
             --&gt;</i></font>
  
          &lt;/attributes&gt;
  
        &lt;/service&gt;
  
      &lt;/services&gt;
  
    &lt;/type&gt;
  
  </source>
  
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/stages.xml
  
  Index: stages.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Stage Descriptors</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>
  The org.apache.excalibur.meta.info.StageDescriptor class declares a depedency 
that
  a component has towards a stage interface handler (refer extensions).  A 
component 
  may declare multiple stage depedencies.  Each stage depedency references a 
version 
  interface.  A compliant container is responsible for handling the association 
of 
  extension handlers with components that are dependent on custom stages by 
matching
  extension candidates based on the interface reference.
  </p>
  
        <s2 title="XML Schema">
  
  <source>
  
    <font color="gray"><i>&lt;!--
    Example of a component meta info external XML form 
    for a set of stage descriptors within a type.
    --&gt;</i></font>
  
    &lt;type&gt;
  
      <font color="gray"><i>&lt;!--
      The set of stage dependencies that a component declares towards
      the container it is running within. 
      --&gt;</i></font>
  
      &lt;stages&gt;
  
        &lt;stage&gt;
           &lt;name&gt;<font 
color="darkred">security-provider</font>&lt;name&gt;
           &lt;reference type="<font color="darkred">Securable</font>"/&gt;
        &lt;/stage&gt;
  
        &lt;stage&gt;
           &lt;name&gt;<font 
color="darkred">persistence-provider</font>&lt;name&gt;
           &lt;reference type="<font color="darkred">Persistable</font>"/&gt;
        &lt;/stage&gt;
  
      &lt;/stages&gt;
  
    &lt;/type&gt;
  
  </source>
  
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/tools.xml
  
  Index: tools.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Meta-Info Tools</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Tools Support">
  
        <p>Tool support can be broken up into two categories.</p>
  
        <p>A meta-info structure contains the following information:
        <ul>
          <li>Containers leveraging meta-info for component management</li>
          <li>Tools supporting the generation of meta-info descriptors.</li>
          <li>Tools leveraging meta-info in the degenation of supporting 
information.</li>
        </ul>
        </p>
  
        <s2 title="Containers">
        </s2>
  
        <s2 title="Generation Tools">
        </s2>
  
        <s2 title="Developer Tools">
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/type.xml
  
  Index: type.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
    <header>
      <title>Type Descriptor</title>
      <authors>
        <person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
  
    <body>
  
      <s1 title="Introduction">
  
  <p>
  Type is an assembly of descriptors of the constraints a component
  type declares towards a container and includes declaration of service 
  dependencies, Logger establishment criteria, Configuration, Parameters 
  and Context establishment criteria, in addition to human-readable 
  information about the component type.
  </p>
  
        <s2 title="XML Schema">
  
  <p>Configuration instances supplied to the builder shall correspond to the <a 
href="http://jakarta.apache.org/avalon/type-1_1.dtd";>type DTD</a>.  
  The structure of a Type XML document is is described below:</p>
  
  <source>
  
    <font color="gray"><i>&lt;!--
    Example of a component meta info external XML form. The 
    element contains the information required to construct an 
    instance of org.apache.excalibur.meta.info.Type.  It 
    includes information about the component type, the service 
    it provides, and the services it is dependent on.
    --&gt;</i></font>
  
    &lt;type&gt;
  
  
      <font color="gray"><i>&lt;!--
      Defintion of a single component descriptor.
      --&gt;</i></font>
  
      &lt;component&gt;
  
        <font color="gray"><i>&lt;!-- the name of the component (character 
restriction appply) --&gt;</i></font>
  
        &lt;name&gt;<font color="darkred">my-component</font>&lt;/name&gt;
  
        <font color="gray"><i>&lt;!-- the implementation version 
--&gt;</i></font>
  
        &lt;version&gt;<font color="darkred">1.2.1</font>&lt;/version&gt;
  
        <font color="gray"><i>&lt;!-- the set of attribibutes associated with 
the type
           (attribute names and values are examples only) --&gt;</i></font>
  
        &lt;attributes&gt;
  
           &lt;attribute key="<font 
color="darkred">avalon:display-name-i18n</font>" value="<font 
color="darkred">display-name</font>"/&gt;
           &lt;attribute key="<font color="darkred">avalon:lifestyle</font>" 
value="<font color="darkred">THREAD_SAFE</font>"/&gt;
  
        &lt;/attributes&gt;
  
      &lt;/component&gt;
  
      <font color="gray"><i>&lt;!--
      The set of logging catagories the component uses. 
      --&gt;</i></font>
  
      &lt;loggers&gt;
  
        &lt;logger name=&quot;store&quot;/&gt;
        &lt;logger name=&quot;store.cache&quot;/&gt;
        &lt;logger name=&quot;verifier&quot;/&gt;
      
      &lt;/loggers&gt;
  
  
      <font color="gray"><i>&lt;!-- 
      Declaration of the context constraints for the compoent type. 
      The "type" attribute is the name of an interface derived from the default
      contenxt interface org.apache.avalon.framework.context.Context 
      --&gt;</i></font>
  
      &lt;context type="<font color="darkred">MyContextInterface</font>"&gt;
  
        <font color="gray"><i>&lt;!-- 
        Declaration of an entry in a context object, the "key" is
        the key used by a component to locate the context entry,
        the "type" is the classname of value (typically an interface)
        or primative type.  The default value is java.lang.String.
        The "optional" attribute is a boolean value derived from the 
        TRUE or FALSE that indicates if the context value must be 
        provided or not (default is FALSE). 
        --&gt;</i></font>
  
        &lt;entry key="<font color="darkred">base</font>" type="<font 
color="darkred">java.io.File</font>"/&gt;
        &lt;entry key="<font color="darkred">mode</font>" optional="<font 
color="darkred">TRUE</font>"/&gt;
  
      &lt;/context&gt;
  
      <font color="gray"><i>&lt;!--
      Declaration of the set of services that this component is capable 
      of supplying.  Each service declarared under the services element
      may be referenced by other component info descriptions as a 
      dependecy.  A container is responsible for the assemably of 
      components based on the connection of supply components to 
      consumer components via a common service description. 
      --&gt;</i></font>
  
      &lt;services&gt;
  
        <font color="gray"><i>&lt;!-- 
        The service type is the classname of an interface and the
        version identifier qualifes the interface version.  The 
        default version value is 1.0.
        --&gt;</i></font>
  
        &lt;service&gt;
  
          &lt;reference type="<font color="darkred">SimpleService</font>" 
version="<font color="darkred">3.2</font>"&gt;
  
          &lt;attributes&gt;
  
             <font color="gray"><i>&lt;!--
             Service type attributes go here.
  
             Need some relevant examples. 
             --&gt;</i></font>
  
          &lt;/attributes&gt;
  
        &lt;/service&gt;
  
      &lt;/services&gt;
  
  
      <font color="gray"><i>&lt;!-- 
      Declaration of the set of dependecies that this component type has on 
      component suppliers.  Dependency declarations define the role name 
      that the component will use to access a service via a service
      or component manager.  The service element identifies a service 
      descriptor that is publised by a potential supplier component. 
      A dependecy may be declared as optional by setting the optional 
      attribute value to TRUE.  The default value for optional is FALSE.
      --&gt;</i></font>
  
      &lt;dependencies&gt;
  
        <font color="gray"><i>&lt;!-- 
        A dependecy declaration. In the following example the optional 
        attribute is redundant as it is equivalent to the default value
        but is included here for completness.
        --&gt;</i></font>
    
        &lt;dependency optional="<font color="darkred">FALSE</font>"&gt;
    
          <font color="gray"><i>&lt;!-- 
          The role name that the component will use as the argument to 
          lookup. The default value is the value of the service type 
          attribute listed below.
          --&gt;</i></font>
    
          &lt;role&gt;<font color="darkred">my-transformer</font>&lt;/role&gt;
    
          <font color="gray"><i>&lt;!-- 
          service reference containing the classname of the service interface
          and the version value where version defaults to 1.0 
          --&gt;</i></font>
  
          &lt;reference type="<font 
color="darkred">org.apache.cocoon.api.Transformer</font>" version="<font 
color="darkred">1.1</font>"/&gt;
  
          <font color="gray"><i>&lt;!-- the set of attributes associated with 
the dependecy --&gt;</i></font>
  
          &lt;attributes&gt;
  
             <font color="gray"><i>&lt;!-- 
             Service type constraints go here.
             Need some relevant examples. 
             --&gt;</i></font>
  
          &lt;/attributes&gt;
  
        &lt;/dependency&gt;
  
      &lt;/dependencies&gt;
  
    &lt;/type&gt;
  
  
  </source>
  
        </s2>
  
      </s1>
  
    </body>
  
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/08/25 02:50:28 $
      </legal>
    </footer>
  
  </document>
  
  
  
  
  
  1.1                  jakarta-avalon-excalibur/meta/src/xdocs/images/Type.gif
  
        <<Binary file>>
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to