[jboss-cvs] JBossAS SVN: r64534 - in projects/microcontainer/trunk: kernel/src/main/org/jboss/beans/metadata/plugins and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 10 04:25:47 EDT 2007


Author: alesj
Date: 2007-08-10 04:25:47 -0400 (Fri, 10 Aug 2007)
New Revision: 64534

Added:
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/annotations.xml
Modified:
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/basics.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/classloader.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/core.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/javabeans.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/managed.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/mbeans.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/modules.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/osgi.xml
   projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/spring.xml
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOption.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Aliases.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Constructor.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Create.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demand.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demands.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Depends.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Destroy.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/EntryValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstall.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstalls.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalUninstalls.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Factory.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/FactoryMethod.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/InstallMethod.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/JavaBeanValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/NullValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Parameter.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Start.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Stop.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Supplys.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ThisValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/UninstallMethod.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Value.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/AutowireType.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/InterfaceArraySimpleBean.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/OnObjectArraySimpleBean.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ArrayAnnotationTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AbstractBeanMetaDataTest.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedClassesScopingTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedDeploymentScopingTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ContextualScopingTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/IllegalScopingTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/InnerBeanScopingTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingShutdownTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.java
Log:
Annotations - initial user guide, javadocs.
Fixed array annotation test.

Added: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/annotations.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/annotations.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/annotations.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -0,0 +1,940 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+      "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
+
+<section>
+   <title>Annotations support</title>
+
+   <para>We learned how to configure our POJOs with Microcontainer's XML elements.
+      In today's development most of the configuration is done with annotations.
+      Microcontainer is no exception.
+   </para>
+
+   <para>Almost all of the features available in XML are also present in Microcontainer's
+      annotations support, except for the classloading configuration, which for obvious reasons
+      doesn't have its equivalent (class needs to be loaded before we can check for annotations, right).
+      Let's now look at the annotations supported and some of its caveats.
+   </para>
+
+   <para>Like in most other configurations XML and predetermined bean metadata override annotations.
+      This is current list of supported annotations and their XML equivalents. Later we will show how
+      you can extend support for your own annotations directly into Microcontainer's configuration.
+   </para>
+
+      <itemizedlist>
+         <listitem>
+            <para>@Aliases - &lt;alias></para>
+            <para>
+               <programlisting>
+                  /**
+                   * The aliases.
+                   * Equivalent to deployment's alias element.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.TYPE})
+                  public @interface Aliases
+                  {
+                     /**
+                      * Get aliases array.
+                      *
+                      * @return the aliases
+                      */
+                     String[] value();
+
+                     /**
+                      * Do system property replace.
+                      *
+                      * @return true to replace system property, false otherwise
+                      */
+                     boolean replace() default true;
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Aliases({"MyAlias", "YetAnotherSimpleBean"})
+                  public class AliasSimpleBeanImpl extends SimpleBeanImpl
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@ArrayValue - &lt;array></para>
+            <para>@CollectionValue - &lt;collection></para>
+            <para>@ListValue - &lt;list></para>
+            <para>@SetValue - &lt;set></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Injecting array value.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface ArrayValue
+                  {
+                     /**
+                      * Set the array class.
+                      *
+                      * @return array class name
+                      */
+                     String clazz() default "";
+
+                     /**
+                      * Array's element class.
+                      *
+                      * @return element class name
+                      */
+                     String elementClass() default "";
+
+                     /**
+                      * Get the values.
+                      *
+                      * @return the values
+                      */
+                     Value[] value();
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @ArrayValue(
+                        value = {
+                           @Value(string = @StringValue("string1")),
+                           @Value(string = @StringValue("string2")),
+                           @Value(string = @StringValue("string2")),
+                           @Value(string = @StringValue("string1"))
+                        },
+                        elementClass = "java.lang.String",
+                        clazz = "[Ljava.lang.Comparable;"
+                  )
+                  public void setArray(Object[] array)
+                  {
+                     super.setArray(array);
+                  }
+
+                  @CollectionValue(
+                        value = {
+                           @Value(string = @StringValue("string1")),
+                           @Value(string = @StringValue("string2")),
+                           @Value(string = @StringValue("string2")),
+                           @Value(string = @StringValue("string1"))
+                        },
+                        elementClass = "java.lang.String",
+                        clazz = "java.util.ArrayList"
+                  )
+                  public void setCollection(Collection collection)
+                  {
+                     super.setCollection(collection);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Constructor - &lt;constructor></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Mark the constructor used to instantiate bean.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.CONSTRUCTOR})
+                  public @interface Constructor
+                  {
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Constructor
+                  public TestConstructorBean(@Inject(bean = "testBean") TestBean test)
+                  {
+                     ...
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Create - &lt;create></para>
+            <para>@Start - &lt;start></para>
+            <para>@Stop - &lt;stop></para>
+            <para>@Destroy - &lt;destroy></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Mark lifecycle create method.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD})
+                  public @interface Create
+                  {
+                     /**
+                      * Is this lifecycle callback ignored.
+                      *
+                      * @return ignored
+                      */
+                     boolean ignored() default false;
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Create
+                  public void notCreate(@Inject(bean = "Name1") SimpleBeanWithLifecycle bean)
+                  {
+                     super.notCreate(bean);
+                  }
+
+                  @Start
+                  public void notStart(@Inject(bean = "Name2")SimpleBeanWithLifecycle bean)
+                  {
+                     super.notStart(bean);
+                  }
+
+                  @Stop
+                  public void notStop(@Inject(bean = "Name3")SimpleBeanWithLifecycle bean)
+                  {
+                     super.notStop(bean);
+                  }
+
+                  @Destroy
+                  public void notDestroy(@Inject(bean = "Name4")SimpleBeanWithLifecycle bean)
+                  {
+                     super.notDestroy(bean);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Demands - &lt;demands></para>
+            <para>
+               <programlisting>
+                  /**
+                   * The demands.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.TYPE})
+                  public @interface Demands
+                  {
+                     /**
+                      * Get demands.
+                      *
+                      * @return the demands
+                      */
+                     Demand[] value();
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Demands({@Demand("WhatIWant")})
+                  public class DemandSimpleBeanImpl extends SimpleBeanImpl
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Depends - &lt;depends></para>
+            <para>
+               <programlisting>
+                  /**
+                   * The depends values.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.TYPE})
+                  public @interface Depends
+                  {
+                     /**
+                      * Get the depends values.
+                      *
+                      * @return the depends
+                      */
+                     String[] value();
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Depends({"Name1"})
+                  public class DependSimpleBeanWithLifecycle extends SimpleBeanWithLifecycle
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@ExternalInstalls - &lt;install bean="..." method="..."/></para>
+            <para>@ExternalUninstalls - &lt;uninstall bean="..." method="..."/></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Array of external installs.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.TYPE})
+                  public @interface ExternalUninstalls
+                  {
+                     /**
+                      * Get external installs.
+                      *
+                      * @return the external installs
+                      */
+                     ExternalInstall[] value();
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @ExternalInstalls({@ExternalInstall(bean = "Name1", method = "addSimpleBean", parameters = {@Value(thisValue = @ThisValue)})})
+                  @ExternalUninstalls({@ExternalInstall(bean = "Name1", method = "removeSimpleBean", parameters = {@Value(thisValue = @ThisValue)})})
+                  public class ExternalInstallSimpleBeanImpl implements Serializable, SimpleBean
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Factory - &lt;constructor>&lt;factory ...></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Define constructor factory.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.TYPE})
+                  public @interface Factory
+                  {
+                     /**
+                      * Get the factory.
+                      *
+                      * @return the factory value
+                      */
+                     Value factory() default @Value();
+
+                     /**
+                      * Get the factory class.
+                      *
+                      * @return the factory class
+                      */
+                     String factoryClass() default "";
+
+                     /**
+                      * Get the factory method.
+                      *
+                      * @return the factory method
+                      */
+                     String factoryMethod();
+
+                     /**
+                      * Get parameters.
+                      *
+                      * @return the parameters
+                      */
+                     Value[] parameters() default {};
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Factory(
+                        factory = @Value(javabean = @JavaBeanValue("org.jboss.test.kernel.config.support.SimpleBeanFactory")),
+                        factoryMethod = "createSimpleBean",
+                        parameters = {@Value(string = @StringValue("Factory Value"))}
+                  )
+                  public class FromFactoryWithParamSimpleBean extends SimpleBean
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@FactoryMethod - &lt;constructor>&lt;factory factoryMethod="..." ...></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Mark static method as factory method.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD})
+                  public @interface FactoryMethod
+                  {
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @FactoryMethod
+                  public static SimpleInject getInstance(@NullValue Object someNull)
+                  {
+                     return new SimpleInject();
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Inject - &lt;inject></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Beans when injected by class type are by default changed to configured
+                   * state - if not yet configured.
+                   * You can change this behavior by setting state.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface Inject
+                  {
+                     /**
+                      * Get bean.
+                      * Default is no bean.
+                      *
+                      * @return bean name
+                      */
+                     String bean() default "";
+
+                     /**
+                      * Get property.
+                      * Default is no property.
+                      *
+                      * @return property name
+                      */
+                     String property() default "";
+
+                     /**
+                      * Get when required.
+                      *
+                      * @return when required.
+                      */
+                     String whenRequired() default "";
+
+                     /**
+                      * Get dependent state.
+                      * Default is Installed.
+                      *
+                      * @return dependent state.
+                      */
+                     String dependentState() default "Installed";
+
+                     /**
+                      * Get injection type.
+                      * Default is by class.
+                      *
+                      * @return injection type
+                      */
+                     InjectType type() default InjectType.BY_CLASS;
+
+                     /**
+                      * Get injection option.
+                      * Default is Strict.
+                      *
+                      * @return injection option
+                      */
+                     InjectOption option() default InjectOption.STRICT;
+
+                     /**
+                      * Get from context injection.
+                      *
+                      * @return from context type
+                      */
+                     FromContext fromContext() default FromContext.NONE;
+
+                     /**
+                      * Is this @Inject valid.
+                      * Used with @Value.
+                      *
+                      * @return is this instance valid
+                      */
+                     boolean valid() default true;
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Inject(bean = "Name1")
+                  public void setSimpleBean(SimpleBean bean)
+                  {
+                     super.setSimpleBean(bean);
+                  }
+
+                  @Start
+                  public void startMeUp(@Inject(bean = "lifecycleBean") TestBean bean, @ValueFactory(bean="valueBean", method = "getValue", parameter = "123") int value)
+                  {
+                     test = bean;
+                     intVF =- value;
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Install - &lt;incallback></para>
+            <para>@Uninstall - &lt;uncallback></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Install callback.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD})
+                  public @interface Install
+                  {
+                     /**
+                      * Get the cardinality.
+                      * Default is no cardinality.
+                      *
+                      * @return cardinality
+                      */
+                     String cardinality() default "";
+
+                     /**
+                      * Get when required.
+                      * Default is Configured.
+                      *
+                      * @return when required.
+                      */
+                     String whenRequired() default "Configured";
+
+                     /**
+                      * Get dependent state.
+                      * Default is Installed.
+                      *
+                      * @return dependent state.
+                      */
+                     String dependentState() default "Installed";
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Install
+                  public void addDeployer(MyDeployer deployer)
+                  {
+                     if (deployers == null)
+                        deployers = new HashSet&lt;MyDeployer>();
+                     deployers.add(deployer);
+                  }
+
+                  @Uninstall
+                  public void removeDeployer(MyDeployer deployer)
+                  {
+                     deployers.remove(deployer);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@InstallMethod - &lt;install></para>
+            <para>@UninstallMethod - &lt;uninstall></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Internal installation method.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD})
+                  public @interface InstallMethod
+                  {
+                     /**
+                      * Get dependant state.
+                      *
+                      * @return the dependant state
+                      */
+                     String dependantState() default "";
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @InstallMethod
+                  public void install()
+                  {
+                     installed = true;
+                  }
+
+                  @UninstallMethod
+                  public void uninstall()
+                  {
+                     installed = false;
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@JavaBeanValue - &lt;javabean></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Java bean value.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface JavaBeanValue
+                  {
+                     /**
+                      * Get java bean class name.
+                      * Must have default constructor.
+                      *
+                      * @return the class name
+                      */
+                     String value() default "";
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Factory(
+                        factory = @Value(javabean = @JavaBeanValue("org.jboss.test.kernel.config.support.SimpleBeanFactory")),
+                        factoryMethod = "createSimpleBean"
+                  )
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@MapValue - &lt;map></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Map value injection.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface MapValue
+                  {
+                     /**
+                      * Get the map class name.
+                      *
+                      * @return the map class name
+                      */
+                     String clazz() default "";
+
+                     /**
+                      * Get the key class name.
+                      *
+                      * @return the key class name
+                      */
+                     String keyClass() default "";
+
+                     /**
+                      * Get the value class name.
+                      *
+                      * @return the value class name
+                      */
+                     String valueClass() default "";
+
+                     /**
+                      * Get the entries.
+                      *
+                      * @return the entries
+                      */
+                     EntryValue[] value();
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Constructor
+                  public AnnotatedLDAPFactory(
+                        @MapValue(
+                              keyClass = "java.lang.String",
+                              valueClass = "java.lang.String",
+                              value = {
+                                 @EntryValue(
+                                    key = @Value(string = @StringValue("foo.bar.key")),
+                                    value = @Value(string = @StringValue("QWERT"))
+                                 ),
+                                 @EntryValue(
+                                    key = @Value(string = @StringValue("xyz.key")),
+                                    value = @Value(string = @StringValue(" QWERT "))
+                                 )
+                              }
+                        )
+                        Map&lt;String, String> map
+                  )
+                  {
+                     super(map);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@NullValue - &lt;null></para>
+            <para>
+               <programlisting>
+                  /**
+                   * Null value.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface NullValue
+                  {
+                     /**
+                      * Is valid.
+                      * Used in @Parameter and @value to define
+                      * unused value.
+                      *
+                      * @return is value valid
+                      */
+                     boolean valid() default true;
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @UninstallMethod
+                  public void withUninstall(@ThisValue SimpleInject me, @NullValue Object plainNull)
+                  {
+                     System.out.println(me == this);
+                     System.out.println("plainNull = " + plainNull);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@StringValue - &lt;value>somestring&lt;/value></para>
+            <para>
+               <programlisting>
+                  /**
+                   * String value.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface StringValue
+                  {
+                     /**
+                      * Get the value.
+                      *
+                      * @return the value
+                      */
+                     String value();
+
+                     /**
+                      * Get type.
+                      *
+                      * @return the type
+                      */
+                     String type() default "";
+
+                     /**
+                      * Do replace with system properties.
+                      *
+                      * @return true for replace with system properties, false otherwise
+                      */
+                     boolean replace() default true;
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Constructor
+                  public ParamIntConstructorAnnBean(@StringValue("7") Integer string)
+                  {
+                     super(string);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@Supplys - &lt;supply></para>
+            <para>
+               <programlisting>
+                  /**
+                   * The supplys.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.TYPE})
+                  public @interface Supplys
+                  {
+                     /**
+                      * Get supply values.
+                      *
+                      * @return the supplys
+                      */
+                     String[] value();
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @Supplys({"WhatIWant"})
+                  public class SupplyPlainDependecySimpleBeanImpl extends PlainDependecySimpleBeanImpl
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@ThisValue - &lt;this/></para>
+            <para>
+               <programlisting>
+                  /**
+                   * This value.
+                   * Get the underlying target.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface ThisValue
+                  {
+                     /**
+                      * Is instance valid.
+                      *
+                      * @see @org.jboss.beans.metadata.plugins.annotations.Value
+                      * @see @org.jboss.beans.metadata.plugins.annotations.Parameter
+                      * @return true for valid
+                      */
+                     boolean valid() default true;
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @InstallMethod
+                  public void whenInstalled(@ThisValue SimpleInject me, @NullValue Object plainNull)
+                  {
+                     System.out.println(me == this);
+                     System.out.println("plainNull = " + plainNull);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+         <listitem>
+            <para>@ValueFactory - &lt;value-factory></para>
+            <para>
+               <programlisting>
+                  /**
+                   * The value factory.
+                   *
+                   * @author &lt;a href="mailto:ales.justin at jboss.com">Ales Justin&lt;/a>
+                   */
+                  @Retention(RetentionPolicy.RUNTIME)
+                  @Target({ElementType.METHOD, ElementType.PARAMETER})
+                  public @interface ValueFactory
+                  {
+                     /**
+                      * Get the bean.
+                      *
+                      * @return the bean
+                      */
+                     String bean();
+
+                     /**
+                      * Get the method.
+                      *
+                      * @return the method
+                      */
+                     String method();
+
+                     /**
+                      * Get single parameter.
+                      *
+                      * @return the single parameter
+                      */
+                     String parameter() default "";
+
+                     /**
+                      * Get parameters.
+                      *
+                      * @return the parameters
+                      */
+                     Parameter[] parameters() default {};
+
+                     /**
+                      * Get default value.
+                      *
+                      * @return the default value
+                      */
+                     String defaultValue() default "";
+
+                     /**
+                      * Get dependant state.
+                      *
+                      * @return the dependant state
+                      */
+                     String dependantState() default "Installed";
+
+                     /**
+                      * Get when required state.
+                      *
+                      * @return the when required state
+                      */
+                     String whenRequiredState() default "Configured";
+                  }
+               </programlisting>
+            </para>
+            <para>
+               Example:
+               <programlisting>
+                  @ValueFactory(bean = "ldap", method = "getValue", parameter = "foo.bar.key")
+                  public void setValue(String value)
+                  {
+                     super.setValue(value);
+                  }
+               </programlisting>
+            </para>
+         </listitem>
+
+      </itemizedlist>
+
+   <para>TODO - extending annotations support.      
+   </para>
+
+</section>

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/basics.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/basics.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/basics.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <section>

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/classloader.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/classloader.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/classloader.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <chapter id="classloader">

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/core.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/core.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/core.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <chapter id="core">
@@ -11,6 +11,9 @@
    <xi:include href="basics.xml"
                xml:base="./"
                xmlns:xi="http://www.w3.org/2001/XInclude"/>
+   <xi:include href="annotations.xml"
+               xml:base="./"
+               xmlns:xi="http://www.w3.org/2001/XInclude"/>
    <xi:include href="aop.xml"
                xml:base="./"
                xmlns:xi="http://www.w3.org/2001/XInclude"/>

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/javabeans.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/javabeans.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/javabeans.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <section>

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/managed.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/managed.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/managed.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <chapter id="managed">

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/mbeans.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/mbeans.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/mbeans.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <chapter id="mbeans">

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/modules.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/modules.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/modules.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <chapter id="modules">

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/osgi.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/osgi.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/osgi.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <chapter id="osgi">

Modified: projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/spring.xml
===================================================================
--- projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/spring.xml	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/docs/gettingstarted/src/docbkx/en/modules/spring.xml	2007-08-10 08:25:47 UTC (rev 64534)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
       "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 
 <section>

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOption.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOption.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/InjectionOption.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -31,7 +31,7 @@
  *  * Strict - exactly one matching context (default)
  *  * Callback - issue callback once context with matching is present
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class InjectionOption extends JBossObject
       implements Serializable

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/TypeProvider.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -26,7 +26,7 @@
 import org.jboss.reflect.spi.TypeInfo;
 
 /**
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public interface TypeProvider
 {

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Aliases.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Aliases.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Aliases.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,13 +27,26 @@
 import java.lang.annotation.RetentionPolicy;
 
 /**
+ * The aliases.
+ * Equivalent to deployment's alias element.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface Aliases
 {
+   /**
+    * Get aliases array.
+    *
+    * @return the aliases
+    */
    String[] value();
 
+   /**
+    * Do system property replace.
+    *
+    * @return true to replace system property, false otherwise
+    */
    boolean replace() default true;
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,15 +27,32 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Injecting array value.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface ArrayValue
 {
+   /**
+    * Set the array class.
+    *
+    * @return array class name
+    */
    String clazz() default "";
 
+   /**
+    * Array's element class.
+    *
+    * @return element class name
+    */
    String elementClass() default "";
 
+   /**
+    * Get the values.
+    *
+    * @return the values
+    */
    Value[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,15 +27,32 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Collection injection.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface CollectionValue
 {
+   /**
+    * Get collection class.
+    *
+    * @return the collection class
+    */
    String clazz() default "";
 
+   /**
+    * Get element class.
+    *
+    * @return the element class
+    */
    String elementClass() default "";
 
+   /**
+    * Get values.
+    *
+    * @return the values
+    */
    Value[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Constructor.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Constructor.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Constructor.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,6 +27,8 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Mark the constructor used to instantiate bean.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Create.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Create.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Create.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -6,7 +6,9 @@
 import java.lang.annotation.Target;
 
 /**
- * @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
+ * Mark lifecycle create method.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD})

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demand.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demand.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demand.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,13 +27,25 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * The demand.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.ANNOTATION_TYPE})
 public @interface Demand
 {
+   /**
+    * Get demand value.
+    *
+    * @return the demand
+    */
    String value();
 
+   /**
+    * Get when required.
+    *
+    * @return the when required state
+    */
    String whenRequired() default "Instantiated";
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demands.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demands.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Demands.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,18 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * The demands.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface Demands
 {
+   /**
+    * Get demands.
+    *
+    * @return the demands
+    */
    Demand[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Depends.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Depends.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Depends.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,18 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * The depends values.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface Depends
 {
+   /**
+    * Get the depends values.
+    *
+    * @return the depends
+    */
    String[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Destroy.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Destroy.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Destroy.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -6,7 +6,9 @@
 import java.lang.annotation.Target;
 
 /**
- * @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
+ * Mark destroy lifecycle method.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD})

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/EntryValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/EntryValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/EntryValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,13 +27,25 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Map entry value.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER})
+ at Target({ElementType.ANNOTATION_TYPE})
 public @interface EntryValue
 {
+   /**
+    * Get the key.
+    *
+    * @return the key
+    */
    Value key();
 
+   /**
+    * Get the value.
+    *
+    * @return the value
+    */
    Value value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstall.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstall.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstall.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,17 +27,40 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Define external install.
+ * Must define other bean to execute instal method on.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.ANNOTATION_TYPE})
 public @interface ExternalInstall
 {
+   /**
+    * Get the bean.
+    *
+    * @return the bean
+    */
    String bean();
 
+   /**
+    * Get the method.
+    *
+    * @return the method
+    */
    String method();
 
+   /**
+    * Get the dependant state.
+    *
+    * @return the dependant state
+    */
    String dependantState() default "";
 
+   /**
+    * Get parameters.
+    *
+    * @return the parameters
+    */
    Value[] parameters() default {};
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstalls.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstalls.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalInstalls.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,18 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Array of external installs.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface ExternalInstalls
 {
+   /**
+    * Get external installs.
+    *
+    * @return the external installs
+    */
    ExternalInstall[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalUninstalls.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalUninstalls.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ExternalUninstalls.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,18 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Array of external uninstalls.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface ExternalUninstalls
 {
+   /**
+    * Get external uninstalls.
+    *
+    * @return the external uninstalls
+    */
    ExternalInstall[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Factory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Factory.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Factory.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,17 +27,39 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Define constructor factory.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface Factory
 {
+   /**
+    * Get the factory.
+    *
+    * @return the factory value
+    */
    Value factory() default @Value();
 
+   /**
+    * Get the factory class.
+    *
+    * @return the factory class
+    */
    String factoryClass() default "";
 
+   /**
+    * Get the factory method.
+    *
+    * @return the factory method
+    */
    String factoryMethod();
 
+   /**
+    * Get parameters.
+    *
+    * @return the parameters
+    */
    Value[] parameters() default {};
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/FactoryMethod.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/FactoryMethod.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/FactoryMethod.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,6 +27,8 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Mark static method as factory method.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -31,7 +31,7 @@
  * state - if not yet configured.
  * You can change this behavior by setting state.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/InstallMethod.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/InstallMethod.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/InstallMethod.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,18 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Internal installation method.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD})
 public @interface InstallMethod
 {
+   /**
+    * Get dependant state.
+    *
+    * @return the dependant state
+    */
    String dependantState() default "";
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/JavaBeanValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/JavaBeanValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/JavaBeanValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,19 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Java bean value.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface JavaBeanValue
 {
+   /**
+    * Get java bean class name.
+    * Must have default constructor.
+    *
+    * @return the class name
+    */
    String value() default "";
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,15 +27,32 @@
 import java.lang.annotation.Target;
 
 /**
+ * List value injection.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface ListValue
 {
+   /**
+    * Get list class name.
+    *
+    * @return the list class name
+    */
    String clazz() default "";
 
+   /**
+    * Get the element class name.
+    *
+    * @return the element class name
+    */
    String elementClass() default "";
 
+   /**
+    * Get the values.
+    *
+    * @return the values
+    */
    Value[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,17 +27,39 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Map value injection.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface MapValue
 {
+   /**
+    * Get the map class name.
+    *
+    * @return the map class name
+    */
    String clazz() default "";
 
+   /**
+    * Get the key class name.
+    *
+    * @return the key class name
+    */
    String keyClass() default "";
 
+   /**
+    * Get the value class name.
+    *
+    * @return the value class name
+    */
    String valueClass() default "";
 
+   /**
+    * Get the entries.
+    *
+    * @return the entries
+    */
    EntryValue[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/NullValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/NullValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/NullValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,20 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Null value.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface NullValue
 {
+   /**
+    * Is valid.
+    * Used in @Parameter and @value to define
+    * unused value.
+    *
+    * @return is value valid
+    */
    boolean valid() default true;
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Parameter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Parameter.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Parameter.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,21 +27,56 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * The parameter.
+ * We must distingush between @Value and @Parameter,
+ * since annotations don't allow cyclic dependencies.
+ * ValueFactory uses @Parameter to break the cycle.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.ANNOTATION_TYPE})
 public @interface Parameter
 {
+   /**
+    * Get they parameter type.
+    *
+    * @return the type
+    */
    String type() default "";
 
+   /**
+    * Get the string value.
+    *
+    * @return the string value
+    */
    StringValue string() default @StringValue(value="");
 
+   /**
+    * Get inject value.
+    *
+    * @return the inject value
+    */
    Inject inject() default @Inject(valid=false);
 
+   /**
+    * Get this value.
+    *
+    * @return this value
+    */
    ThisValue thisValue() default @ThisValue(valid = false);
 
+   /**
+    * Get null value.
+    *
+    * @return null value
+    */
    NullValue nullValue() default @NullValue(valid = false);
 
+   /**
+    * Get java bean value.
+    *
+    * @return java bean value
+    */
    JavaBeanValue javabean() default @JavaBeanValue;
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,15 +27,32 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Set value injection.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface SetValue
 {
+   /**
+    * Get the set class name.
+    *
+    * @return the set class name
+    */
    String clazz() default "";
 
+   /**
+    * Get the element class name.
+    *
+    * @return the element class name
+    */
    String elementClass() default "";
 
+   /**
+    * Get the values.
+    *
+    * @return the values
+    */
    Value[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Start.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Start.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Start.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -6,6 +6,8 @@
 import java.lang.annotation.Target;
 
 /**
+ * Mark start lifecycle method.
+ *
  * @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Stop.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Stop.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Stop.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -6,6 +6,8 @@
 import java.lang.annotation.Target;
 
 /**
+ * Mark stop lifecycle method.
+ * 
  * @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,15 +27,32 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * String value.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface StringValue
 {
+   /**
+    * Get the value.
+    *
+    * @return the value
+    */
    String value();
 
+   /**
+    * Get type.
+    *
+    * @return the type
+    */
    String type() default "";
 
+   /**
+    * Do replace with system properties.
+    *
+    * @return true for replace with system properties, false otherwise
+    */
    boolean replace() default true;
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Supplys.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Supplys.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Supplys.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,18 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * The supplys.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface Supplys
 {
+   /**
+    * Get supply values.
+    *
+    * @return the supplys
+    */
    String[] value();
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ThisValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ThisValue.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ThisValue.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,21 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * This value.
+ * Get the underlying target.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface ThisValue
 {
+   /**
+    * Is instance valid.
+    *
+    * @see @org.jboss.beans.metadata.plugins.annotations.Value
+    * @see @org.jboss.beans.metadata.plugins.annotations.Parameter
+    * @return true for valid
+    */
    boolean valid() default true;
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/UninstallMethod.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/UninstallMethod.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/UninstallMethod.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,11 +27,18 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * Mark the uninstall method.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD})
 public @interface UninstallMethod
 {
+   /**
+    * Get the dependant state.
+    *
+    * @return the dependant state
+    */
    String dependantState() default "";
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Value.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Value.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Value.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,23 +27,61 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * The value.
+ * @see Parameter
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.ANNOTATION_TYPE})
 public @interface Value
 {
+   /**
+    * Get they parameter type.
+    *
+    * @return the type
+    */
    String type() default "";
 
+   /**
+    * Get the string value.
+    *
+    * @return the string value
+    */
    StringValue string() default @StringValue(value="");
 
+   /**
+    * Get the value factory.
+    *
+    * @return the value factory
+    */
+   ValueFactory valueFactory() default @ValueFactory(bean = "", method = "");
+
+   /**
+    * Get inject value.
+    *
+    * @return the inject value
+    */
    Inject inject() default @Inject(valid=false);
 
-   ValueFactory valueFactory() default @ValueFactory(bean = "", method = "");
-
+   /**
+    * Get this value.
+    *
+    * @return this value
+    */
    ThisValue thisValue() default @ThisValue(valid = false);
 
+   /**
+    * Get null value.
+    *
+    * @return null value
+    */
    NullValue nullValue() default @NullValue(valid = false);
 
+   /**
+    * Get java bean value.
+    *
+    * @return java bean value
+    */
    JavaBeanValue javabean() default @JavaBeanValue;
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,23 +27,60 @@
 import java.lang.annotation.ElementType;
 
 /**
+ * The value factory.
+ *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface ValueFactory
 {
+   /**
+    * Get the bean.
+    *
+    * @return the bean
+    */
    String bean();
 
+   /**
+    * Get the method.
+    *
+    * @return the method
+    */
    String method();
 
+   /**
+    * Get single parameter.
+    *
+    * @return the single parameter
+    */
    String parameter() default "";
 
+   /**
+    * Get parameters.
+    *
+    * @return the parameters
+    */
    Parameter[] parameters() default {};
 
+   /**
+    * Get default value.
+    *
+    * @return the default value
+    */
    String defaultValue() default "";
 
+   /**
+    * Get dependant state.
+    *
+    * @return the dependant state
+    */
    String dependantState() default "Installed";
 
+   /**
+    * Get when required state.
+    *
+    * @return the when required state
+    */
    String whenRequiredState() default "Configured";
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/AutowireType.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/AutowireType.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/AutowireType.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -34,7 +34,7 @@
  *  * Auto - matching constructor or by type
  *  * None - do not autowire
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class AutowireType extends JBossObject
    implements Serializable

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/InterfaceArraySimpleBean.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/InterfaceArraySimpleBean.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/InterfaceArraySimpleBean.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -41,7 +41,7 @@
             @Value(string = @StringValue("string1"))
          },
          elementClass = "java.lang.String",
-         clazz = "java.util.Array"
+         clazz = "[Ljava.lang.Comparable;"
    )
    public void setArray(Object[] array)
    {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/OnObjectArraySimpleBean.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/OnObjectArraySimpleBean.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/support/OnObjectArraySimpleBean.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -40,8 +40,7 @@
             @Value(string = @StringValue("string1")),
             @Value(string = @StringValue(value = "1", type = "java.lang.Integer"))
          },
-         elementClass = "java.lang.String",
-         clazz = "org.jboss.test.kernel.config.support.CustomArray"
+         elementClass = "java.lang.String"
    )
    public void setAnObject(Object object)
    {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ArrayAnnotationTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ArrayAnnotationTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ArrayAnnotationTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -114,14 +114,9 @@
       return (SimpleBean) instantiate(builder.getBeanMetaData(), ControllerState.ERROR);
    }
 
-   public void testArrayIsInterface() throws Throwable
-   {
-      arrayIsInterface();
-   }
-
    protected SimpleBean arrayIsInterface() throws Throwable
    {
       BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder("SimpleBean", InterfaceArraySimpleBean.class.getName());
-      return (SimpleBean) instantiate(builder.getBeanMetaData(), ControllerState.ERROR);
+      return (SimpleBean) instantiate(builder.getBeanMetaData());
    }
 }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/NullClassLoader.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -22,7 +22,7 @@
 package org.jboss.test.kernel.deployment.support;
 
 /**
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class NullClassLoader extends ClassLoader
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AbstractBeanMetaDataTest.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AbstractBeanMetaDataTest.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AbstractBeanMetaDataTest.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -27,7 +27,7 @@
 import org.jboss.test.kernel.deployment.support.SimpleObjectWithBean;
 
 /**
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public abstract class AbstractBeanMetaDataTest extends AbstractDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedClassesScopingTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedClassesScopingTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedClassesScopingTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -29,7 +29,7 @@
  * Scoping tests.
  * With scope annotation at class level.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class AnnotatedClassesScopingTestCase extends ScopingDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedDeploymentScopingTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedDeploymentScopingTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/AnnotatedDeploymentScopingTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -29,7 +29,7 @@
  * Scoping tests.
  * With scope annotation at deployment level.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class AnnotatedDeploymentScopingTestCase extends ScopingDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -24,7 +24,7 @@
 import junit.framework.Test;
 
 /**
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class BeanMetaDataTestCase extends AbstractBeanMetaDataTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/BeanMetaDataWithClassloaderTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -26,7 +26,7 @@
 import org.jboss.test.kernel.deployment.support.SimpleObjectWithBean;
 
 /**
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class BeanMetaDataWithClassloaderTestCase extends AbstractBeanMetaDataTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ContextualScopingTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ContextualScopingTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ContextualScopingTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -33,7 +33,7 @@
  * Contextual scoping tests.
  * Test includes same named beans.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class ContextualScopingTestCase extends ScopingDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/IllegalScopingTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/IllegalScopingTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/IllegalScopingTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -30,7 +30,7 @@
  * Scoping tests.
  * Diff scopes.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class IllegalScopingTestCase extends ScopingDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/InnerBeanScopingTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/InnerBeanScopingTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/InnerBeanScopingTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -29,7 +29,7 @@
  * Inner bean scoping tests.
  * Test includes same named beans.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class InnerBeanScopingTestCase extends ScopingDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingShutdownTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingShutdownTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingShutdownTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -31,7 +31,7 @@
  * Scoping shutdown tests.
  * Test includes same named beans.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class ScopingShutdownTestCase extends ScopingDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingTestCase.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/test/ScopingTestCase.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -29,7 +29,7 @@
  * Scoping tests.
  * Test includes same named beans.
  *
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class ScopingTestCase extends ScopingDeploymentTest
 {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.java	2007-08-10 07:40:36 UTC (rev 64533)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/inject/support/ConstructorValueBean.java	2007-08-10 08:25:47 UTC (rev 64534)
@@ -22,7 +22,7 @@
 package org.jboss.test.kernel.inject.support;
 
 /**
- * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class ConstructorValueBean
 {




More information about the jboss-cvs-commits mailing list