<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">

<chapter id="outline">
  <title>Outline of Reference Guide</title>

  <para>An outline of the topics/order we should cover.
  <itemizedlist>
    <listitem>
      <para>
        Introduction of the JBoss Microcontainer and its purpose.
      </para>
    </listitem>
    <listitem>
      <para>
        Overview of the JBoss Microcontainer modules and what the various dependencies between
        them are.
      </para>
    </listitem>
    <listitem>
      <para>
        Setup/bootstrap of a kernel. Discussion of various bootstrap coding/configuration
        to setup a kernel for different environments/purposes. This should be
        somewhat of a deeper dive overview in that it will reference other modules
        and SPIs that are used for the setup.
        <itemizedlist>
          <listitem>
            <para>
              Unit testing
            </para>
          </listitem>
          <listitem>
            <para>
              Embedded J2SE
            </para>
          </listitem>
          <listitem>
            <para>
              Embedded (EJB3, JBPM, SEAM, ...).
              How other projects can leverage the JBoss Microcontainer for configuration, IoC, ...
            </para>
          </listitem>
          <listitem>
            <para>
              JBossAS
            </para>
          </listitem>
          <listitem>
            <para>
              JBossESB
            </para>
          </listitem>
        </itemizedlist>
      </para>
    </listitem>
    <listitem>
      <para>
        Overview of the JBoss Microcontainer core apis and their relations;
        <itemizedlist>
          <listitem>
            <para>
              container: Configuration, ClassAdapter, ControllerContex, BeanInfo, Joinpoint, MetaDataRepository, MetaData, ...
            </para>
          </listitem>
          <listitem>
            <para>
              dependency: Controller, ControllerContex, DependencyInfo, DependencyItem, ...
            </para>
          </listitem>
          <listitem>
            <para>
              kernel: Kernel, KernelFactory, KernelConfigurator, KernelController,
              KernelControllerContext, KernelDeployment, KernelInitializer,
              KernelEventManager, KernelMetaDataRepository, KernelBus
              KernelRegistry
              ...
            </para>
          </listitem>
          <listitem>
            <para>
              aop-mc-int: AOPJoinpointFactory, AspectBinding, Aspect, MixinBinding, StackBinding, lifecycle stuff,
              ...
            </para>
          </listitem>
          <listitem>
            <para>
              deployers: MainDeployer, Deployer, DeploymentUnit, Attachments,
              DeploymentContext, StructureMetaData, StructuredDeployers,
              StructureBuilder, ManagedObjectBuilder, ...
            </para>
          </listitem>
          <listitem>
            <para>
              managed/metatype: ManagedObject, ManagedProperty, Fields,
              MetaType, SimpleMetaType, CompositeMetaType, MetaValue, ...
            </para>
          </listitem>
        </itemizedlist>
      </para>
    </listitem>

  </itemizedlist>
  </para>

</chapter>
