[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 - <alias></para>
+ <para>
+ <programlisting>
+ /**
+ * 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;
+ }
+ </programlisting>
+ </para>
+ <para>
+ Example:
+ <programlisting>
+ @Aliases({"MyAlias", "YetAnotherSimpleBean"})
+ public class AliasSimpleBeanImpl extends SimpleBeanImpl
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@ArrayValue - <array></para>
+ <para>@CollectionValue - <collection></para>
+ <para>@ListValue - <list></para>
+ <para>@SetValue - <set></para>
+ <para>
+ <programlisting>
+ /**
+ * 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();
+ }
+ </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 - <constructor></para>
+ <para>
+ <programlisting>
+ /**
+ * Mark the constructor used to instantiate bean.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</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 - <create></para>
+ <para>@Start - <start></para>
+ <para>@Stop - <stop></para>
+ <para>@Destroy - <destroy></para>
+ <para>
+ <programlisting>
+ /**
+ * Mark lifecycle create method.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</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 - <demands></para>
+ <para>
+ <programlisting>
+ /**
+ * 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();
+ }
+ </programlisting>
+ </para>
+ <para>
+ Example:
+ <programlisting>
+ @Demands({@Demand("WhatIWant")})
+ public class DemandSimpleBeanImpl extends SimpleBeanImpl
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@Depends - <depends></para>
+ <para>
+ <programlisting>
+ /**
+ * 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();
+ }
+ </programlisting>
+ </para>
+ <para>
+ Example:
+ <programlisting>
+ @Depends({"Name1"})
+ public class DependSimpleBeanWithLifecycle extends SimpleBeanWithLifecycle
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@ExternalInstalls - <install bean="..." method="..."/></para>
+ <para>@ExternalUninstalls - <uninstall bean="..." method="..."/></para>
+ <para>
+ <programlisting>
+ /**
+ * Array of external installs.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</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 - <constructor><factory ...></para>
+ <para>
+ <programlisting>
+ /**
+ * 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 {};
+ }
+ </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 - <constructor><factory factoryMethod="..." ...></para>
+ <para>
+ <programlisting>
+ /**
+ * Mark static method as factory method.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</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 - <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 <a href="mailto:ales.justin at jboss.com">Ales Justin</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 - <incallback></para>
+ <para>@Uninstall - <uncallback></para>
+ <para>
+ <programlisting>
+ /**
+ * Install callback.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</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<MyDeployer>();
+ deployers.add(deployer);
+ }
+
+ @Uninstall
+ public void removeDeployer(MyDeployer deployer)
+ {
+ deployers.remove(deployer);
+ }
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@InstallMethod - <install></para>
+ <para>@UninstallMethod - <uninstall></para>
+ <para>
+ <programlisting>
+ /**
+ * 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 "";
+ }
+ </programlisting>
+ </para>
+ <para>
+ Example:
+ <programlisting>
+ @InstallMethod
+ public void install()
+ {
+ installed = true;
+ }
+
+ @UninstallMethod
+ public void uninstall()
+ {
+ installed = false;
+ }
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@JavaBeanValue - <javabean></para>
+ <para>
+ <programlisting>
+ /**
+ * 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 "";
+ }
+ </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 - <map></para>
+ <para>
+ <programlisting>
+ /**
+ * 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();
+ }
+ </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<String, String> map
+ )
+ {
+ super(map);
+ }
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@NullValue - <null></para>
+ <para>
+ <programlisting>
+ /**
+ * 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;
+ }
+ </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 - <value>somestring</value></para>
+ <para>
+ <programlisting>
+ /**
+ * 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;
+ }
+ </programlisting>
+ </para>
+ <para>
+ Example:
+ <programlisting>
+ @Constructor
+ public ParamIntConstructorAnnBean(@StringValue("7") Integer string)
+ {
+ super(string);
+ }
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@Supplys - <supply></para>
+ <para>
+ <programlisting>
+ /**
+ * 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();
+ }
+ </programlisting>
+ </para>
+ <para>
+ Example:
+ <programlisting>
+ @Supplys({"WhatIWant"})
+ public class SupplyPlainDependecySimpleBeanImpl extends PlainDependecySimpleBeanImpl
+ </programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>@ThisValue - <this/></para>
+ <para>
+ <programlisting>
+ /**
+ * 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;
+ }
+ </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 - <value-factory></para>
+ <para>
+ <programlisting>
+ /**
+ * 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";
+ }
+ </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