<?xml version="1.0" encoding="UTF-8"?>
<chapter id="classadapter">
  <title>ClassAdapter</title>

  <para>WARNING: The classadapter model is subject to change without notice.
  It is currently under developement as issues with AOP integration and using
  the Microcontainer in more constrained environments are investigated.</para>

  <para>The class adapter abstraction provides a mechanism to override a class
  or a specific instance of a class in a given context.</para>

  <section>
    <title>Aims</title>

    <section>
      <title>AOP Integration</title>

      <para>The main of the classadapter is to provide an integration point
      for AOP and the microcontainer. It represents a class instance before it
      is constructed or maybe even before the class has been deployed. AOP can
      override the joinpoints to add extra work during construction.</para>
    </section>

    <section>
      <title>Overridding annotations</title>

      <para>The microcontainer allows annotations to be overridden on a
      specific bean deployment. These are passed to AOP.</para>
    </section>

    <section>
      <title>Obtaining AOP dependencies</title>

      <para>The microcontainer uses the classadapter to learn what
      cross-cutting AOP dependencies are required before any attempt is made
      to construct the object.</para>
    </section>
  </section>

  <section>
    <title>Issues</title>

    <section>
      <title>AOP Integration</title>

      <para>The AOP integration is currently being finalized as part of
      AOP2.0</para>
    </section>
  </section>
</chapter>