[jboss-cvs] JBossAS SVN: r89824 - in projects/microcontainer/trunk: dependency/src/main/java/org/jboss/dependency/spi/graph and 22 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jun 4 10:20:50 EDT 2009
Author: kabir.khan at jboss.com
Date: 2009-06-04 10:20:48 -0400 (Thu, 04 Jun 2009)
New Revision: 89824
Added:
projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/dispatch/package.html
projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/helpers/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/validation/package.html
Modified:
projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/GraphController.java
projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/LookupStrategy.java
projects/microcontainer/trunk/jmx-aop-mc-int/.classpath
projects/microcontainer/trunk/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceDeployment.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Aliases.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ArrayValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Bean.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/BeanFactory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Cleanup.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CleanupOnly.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CollectionValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Constructor.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Create.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demand.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demands.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Dependency.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Depends.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Destroy.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/EntryValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstall.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstalls.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalUninstalls.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Factory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/FactoryMethod.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Inject.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Install.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/InstallMethod.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/JavaBeanValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ListValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MapValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/NullValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Parameter.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/SetValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Start.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Stop.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/StringValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supply.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supplys.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ThisValue.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Uninstall.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/UninstallMethod.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Value.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ValueFactory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/AutowireType.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContext.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContextDelegate.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AliasMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AnnotationMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaDataFactory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CachingAnnotationMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CallbackMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassLoaderMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ConstructorMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DependencyMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/FeatureMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/InstallMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/LifecycleMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitor.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitorNode.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/NamedAliasMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterizedMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/PropertyMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/SupplyMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/ParameterMetaDataBuilder.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/AbstractBeanFactory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/BeanFactory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/Kernel.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/api/dependency/MatcherFactory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/KernelObject.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/AnnotationToBeanMetaDataFactory.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/BeanMetaDataAnnotationAdapter.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/KernelInitializer.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfig.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfigurator.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/ConfigureKernelControllerContextAware.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/CreateKernelControllerContextAware.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilder.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DescribeKernelControllerContextAware.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstallKernelControllerContextAware.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstantiateKernelControllerContextAware.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelController.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContext.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContextAware.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/StartKernelControllerContextAware.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/KernelDeployment.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEvent.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventEmitter.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventFilter.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventListener.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventManager.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/lazy/LazyInitializer.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/KernelMetaDataRepository.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/package.html
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelBus.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistry.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntry.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryAlreadyRegisteredException.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryNotFoundException.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryPlugin.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/package.html
Log:
[JBKERNEL-14] Javadocs for kernel module
Added: projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/dispatch/package.html
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/dispatch/package.html (rev 0)
+++ projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/dispatch/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <!-- $Id: package.html 31497 2005-05-24 16:47:10Z adrian $ -->
+ <!--
+
+ JBoss: The OpenSource J2EE WebOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+
+ -->
+ </head>
+
+ <body bgcolor="white">
+ <p>Interfaces that may be inplemented by a <a href="../ControllerContext.html">ControllerContext</a> implementation, which
+ allows you to make calls on the <a href="../ControllerContext.html">ControllerContext</a>s underlying bean. The
+
+ <h2>Package Specification</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <h2>Related Documentation</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <!-- Put @see and @since tags down here. -->
+
+ </body>
+</html>
Modified: projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/GraphController.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/GraphController.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/GraphController.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -21,6 +21,7 @@
*/
package org.jboss.dependency.spi.graph;
+import org.jboss.dependency.spi.Controller;
import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
@@ -28,7 +29,8 @@
* Graph controller.
*
* Either GraphController itself understands
- * SearchInfo, or delegates work to LookupStrategy.
+ * SearchInfo, or delegates work to the LookupStrategy contained in the SearchInfo.
+ * {@link Controller} implementations may implement this interface.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/LookupStrategy.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/LookupStrategy.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/graph/LookupStrategy.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -26,7 +26,8 @@
import org.jboss.dependency.spi.ControllerState;
/**
- * Context lookup strategy.
+ * Context lookup strategy. Specifies how a context should be looked for
+ * in a hierarchy of {@link Controller}s.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Added: projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/helpers/package.html
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/helpers/package.html (rev 0)
+++ projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/spi/helpers/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <!-- $Id: package.html 31497 2005-05-24 16:47:10Z adrian $ -->
+ <!--
+
+ JBoss: The OpenSource J2EE WebOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+
+ -->
+ </head>
+
+ <body bgcolor="white">
+ <p>Helper classes for the controller.
+
+ <h2>Package Specification</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <h2>Related Documentation</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <!-- Put @see and @since tags down here. -->
+
+ </body>
+</html>
Modified: projects/microcontainer/trunk/jmx-aop-mc-int/.classpath
===================================================================
--- projects/microcontainer/trunk/jmx-aop-mc-int/.classpath 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/jmx-aop-mc-int/.classpath 2009-06-04 14:20:48 UTC (rev 89824)
@@ -1,45 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
- <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/classes"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1.1/activation-1.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/bcel/bcel/5.1/bcel-5.1.jar" sourcepath="M2_REPO/bcel/bcel/5.1/bcel-5.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.10.0.GA/javassist-3.10.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar" sourcepath="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop/2.1.0.CR3/jboss-aop-2.1.0.CR3.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop/2.1.0.CR3/jboss-aop-2.1.0.CR3-sources.jar"/>
- <classpathentry kind="src" path="/jboss-aop-mc-int"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/integration/jboss-classloading-spi/6.0.0.Alpha4/jboss-classloading-spi-6.0.0.Alpha4.jar" sourcepath="M2_REPO/org/jboss/integration/jboss-classloading-spi/6.0.0.Alpha4/jboss-classloading-spi-6.0.0.Alpha4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.13.GA/jboss-common-core-2.2.13.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.13.GA/jboss-common-core-2.2.13.GA-sources.jar"/>
- <classpathentry kind="src" path="/jboss-dependency"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-j2se/6.0.0.Beta2/jboss-j2se-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-j2se/6.0.0.Beta2/jboss-j2se-6.0.0.Beta2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-jmx/6.0.0.Beta2/jboss-jmx-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-jmx/6.0.0.Beta2/jboss-jmx-6.0.0.Beta2-sources.jar"/>
- <classpathentry kind="src" path="/jboss-jmx-mc-int"/>
- <classpathentry kind="src" path="/jboss-kernel"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.1.0.CR8/jboss-managed-2.1.0.CR8.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.1.0.CR8/jboss-managed-2.1.0.CR8-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-mbeans/6.0.0.Beta2/jboss-mbeans-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-mbeans/6.0.0.Beta2/jboss-mbeans-6.0.0.Beta2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-mbeanserver/6.0.0.Beta2/jboss-mbeanserver-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-mbeanserver/6.0.0.Beta2/jboss-mbeanserver-6.0.0.Beta2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.1.GA/jboss-mdr-2.0.1.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.1.GA/jboss-mdr-2.0.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.1.0.CR8/jboss-metatype-2.1.0.CR8.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.1.0.CR8/jboss-metatype-2.1.0.CR8-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.1.GA/jbossxb-2.0.1.GA.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.1.GA/jbossxb-2.0.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6.1/qdox-1.6.1.jar" sourcepath="M2_REPO/qdox/qdox/1.6.1/qdox-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/trove/trove/2.1.1/trove-2.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.9.1/xml-apis-2.9.1.jar"/>
-</classpath>
\ No newline at end of file
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1.1/activation-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/bcel/bcel/5.1/bcel-5.1.jar" sourcepath="M2_REPO/bcel/bcel/5.1/bcel-5.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.10.0.GA/javassist-3.10.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar" sourcepath="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop/2.1.1.GA/jboss-aop-2.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop/2.1.0.CR3/jboss-aop-2.1.0.CR3-sources.jar"/>
+ <classpathentry kind="src" path="/jboss-aop-mc-int"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/integration/jboss-classloading-spi/6.0.0.Alpha4/jboss-classloading-spi-6.0.0.Alpha4.jar" sourcepath="M2_REPO/org/jboss/integration/jboss-classloading-spi/6.0.0.Alpha4/jboss-classloading-spi-6.0.0.Alpha4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.13.GA/jboss-common-core-2.2.13.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.13.GA/jboss-common-core-2.2.13.GA-sources.jar"/>
+ <classpathentry kind="src" path="/jboss-dependency"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-j2se/6.0.0.Beta2/jboss-j2se-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-j2se/6.0.0.Beta2/jboss-j2se-6.0.0.Beta2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-jmx/6.0.0.Beta2/jboss-jmx-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-jmx/6.0.0.Beta2/jboss-jmx-6.0.0.Beta2-sources.jar"/>
+ <classpathentry kind="src" path="/jboss-jmx-mc-int"/>
+ <classpathentry kind="src" path="/jboss-kernel"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.1.0.CR8/jboss-managed-2.1.0.CR8.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.1.0.CR8/jboss-managed-2.1.0.CR8-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-mbeans/6.0.0.Beta2/jboss-mbeans-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-mbeans/6.0.0.Beta2/jboss-mbeans-6.0.0.Beta2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/mx/jboss-mbeanserver/6.0.0.Beta2/jboss-mbeanserver-6.0.0.Beta2.jar" sourcepath="M2_REPO/org/jboss/mx/jboss-mbeanserver/6.0.0.Beta2/jboss-mbeanserver-6.0.0.Beta2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.1.GA/jboss-mdr-2.0.1.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.1.GA/jboss-mdr-2.0.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.1.0.CR8/jboss-metatype-2.1.0.CR8.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.1.0.CR8/jboss-metatype-2.1.0.CR8-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.1.GA/jbossxb-2.0.1.GA.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.1.GA/jbossxb-2.0.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6.1/qdox-1.6.1.jar" sourcepath="M2_REPO/qdox/qdox/1.6.1/qdox-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/trove/trove/2.1.1/trove-2.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.9.1/xml-apis-2.9.1.jar"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Modified: projects/microcontainer/trunk/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceDeployment.java
===================================================================
--- projects/microcontainer/trunk/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceDeployment.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceDeployment.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -37,7 +37,8 @@
import org.w3c.dom.Element;
/**
- * ServiceDeployment.
+ * ServiceDeployment. Used to parse the legacy -service.xml files
+ * for MBean deployment.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author Scott.Stark at jboss.org
@@ -67,7 +68,7 @@
private List<ServiceDeploymentClassPath> classPaths;
/**
- * Get the name.
+ * Get the name o.
*
* @return the name.
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Aliases.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Aliases.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Aliases.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,9 +27,22 @@
import java.lang.annotation.Target;
/**
- * The aliases.
+ * Used to create aliases for a bean. An alias is an alternative name for a bean within the controller
* Equivalent to deployment's alias element.
*
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Aliases({"Red", "Blue"})
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * Creates an instance of MyBean and installs it in the Microcontainer using the name <code>MyBean</code>,
+ * and registers the aliases <code>Red</code> and <code>Blue</code>.
+ * Other beans can inject it using <code>MyBean</code>, <code>Red</code> and <code>Blue</code>.
+ *
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getAliases()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -45,7 +58,7 @@
String[] value();
/**
- * Do system property replace.
+ * Do system property replacement
*
* @return true to replace system property, false otherwise
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ArrayValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ArrayValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ArrayValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,15 @@
import java.lang.annotation.Target;
/**
- * Injecting array value.
+ * Creates an array that can be used as a parameter.
+ *
+ * <pre>
+ * @ArrayValue(elementClass="java.lang.Float",
+ * {@Value(string=@StringValue("1.0")),
+ * @Value(string=@StringValue("2.0"))})
+ * public void setArray(Float[] array) {}
+ * </pre>
+ * creates a Float array with the entries {1.0, 2.0}
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -43,7 +51,7 @@
Class<?> clazz() default void.class;
/**
- * Array's element class.
+ * Array's element class. If absent, the default is Object.
*
* @return element class
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Bean.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Bean.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Bean.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -32,8 +32,19 @@
import org.jboss.dependency.spi.ErrorHandlingMode;
/**
- * Mark the MC bean.
+ * Used to mark a class as a Microcontainer bean and to set properties on the resulting bean metadata.
+ * The class of the bean becomes the class that was annotated.
+ *
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * Creates an instance of MyBean and installs it in the Microcontainer using the name <code>MyBean</code>.
*
+ * @see org.jboss.beans.metadata.spi.BeanMetaData
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -41,7 +52,7 @@
public @interface Bean
{
/**
- * Get the name.
+ * Get the bean's name.
*
* This is only meant to be used before
* bean meta data is already installed
@@ -92,7 +103,7 @@
AutowireType autowireType() default AutowireType.NONE;
/**
- * Get the mode
+ * Get the controller mode
*
* Note that this is only gonna be
* used after Describe state.
@@ -112,7 +123,7 @@
ErrorHandlingMode errorHandlingMode() default ErrorHandlingMode.DISCARD;
/**
- * Get the access mode
+ * Get the bean access mode
*
* @return the access mode
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/BeanFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/BeanFactory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/BeanFactory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -30,7 +30,7 @@
import org.jboss.dependency.spi.ControllerMode;
/**
- * Mark the MC bean factory.
+ * Used to mark a class as a Microcontainer bean factory and to set properties on the bean metadata.
*
* Only useful before actual metadata instantiation,
* since we need to instantiate GenericBeanFactoryMetaData
@@ -43,7 +43,7 @@
public @interface BeanFactory
{
/**
- * Get the name.
+ * Get the bean name.
*
* @return bean's name
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Cleanup.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Cleanup.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Cleanup.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,8 @@
import java.lang.annotation.RetentionPolicy;
/**
- * Marks that an annotation is cleaned up while uninstalling.
+ * Marks that data introduced into a {@link org.jboss.beans.metadata.spi.BeanMetaData} annotation is
+ * cleaned up while uninstalling.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CleanupOnly.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CleanupOnly.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CleanupOnly.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,7 @@
import java.lang.annotation.RetentionPolicy;
/**
- * Marks that an annotation is only used while uninstalling.
+ * Marks that an annotation is only used while uninstalling.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CollectionValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CollectionValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/CollectionValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,18 @@
import java.lang.annotation.Target;
/**
- * Collection injection.
+ * Creates a collection that can be used as a parameter.
+ *
+ * <pre>
+ * @CollectionValue(elementClass="java.lang.String",
+ * clazz="org.jboss.example.CustomCollection",
+ * {@Value(string=@StringValue("string1")),
+ * @Value(string=@StringValue("string2")),
+ * @Value(string=@StringValue("string3")),
+ * @Value(string=@StringValue("string4"))})
+ * public void setCollection(Collection collection) {}
+ * </pre>
+ * creates a collection of the type <code>org.jboss.example.CustomCollection</code>, where all the elements are of type String.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -36,10 +47,12 @@
public @interface CollectionValue
{
/**
- * Get collection class.
+ * Get collection class. By default a {@link java.util.ArrayList}
+ * will be used.
*
* @return the collection class
*/
+
Class<?> clazz() default void.class;
/**
@@ -50,7 +63,7 @@
Class<?> elementClass() default void.class;
/**
- * Get values.
+ * An array of the values in the collection.
*
* @return the values
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Constructor.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Constructor.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Constructor.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,43 @@
import java.lang.annotation.Target;
/**
- * Mark the constructor used to instantiate bean.
- *
+ * Mark the constructor used to instantiate a bean. If absent, the default constructor
+ * of the @{@link Bean} annotated class will be used. If the constructor has parameters,
+ * use the following annotations on the parameters to set their values:
+ * <ul>
+ * <li>@{@link ArrayValue}</li>
+ * <li>@{@link CollectionValue}</li>
+ * <li>@{@link Inject}</li>
+ * <li>@{@link JavaBeanValue}</li>
+ * <li>@{@link ListValue}</li>
+ * <li>@{@link MapValue}</li>
+ * <li>@{@link NullValue}</li>
+ * <li>@{@link SetValue}</li>
+ * <li>@{@link StringValue}</li>
+ * </ul>
+ *
+ * For example the following configuration:<p>
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * public MyBean()
+ * {
+ * }
+ *
+ * @Constructor
+ * public MyBean(@StringValue(value="25", type="long") long age, @Inject(bean="OtherBean") Object other)
+ * {
+ * ...
+ * }
+ * }
+ * </pre>
+ * uses the non-default constructor as its constructor and uses the long value <code>25</code> for the <code>age</code> parameter, and injects
+ * the bean <code>OtherBean</code> into the <code>other</code> parameter.
+ *
+ * @see Factory
+ * @see FactoryMethod
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getConstructor()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Create.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Create.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Create.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -7,7 +7,23 @@
/**
* Mark lifecycle create method.
+ *
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Create
+ * public void init()
+ * {
+ * }
+ * }
+ * </pre>
+ * When <code>SomeBean</code> is installed to the {@link org.jboss.dependency.spi.ControllerState#CREATE}
+ * state, the <code>init</code> method is called by the Microcontainer. You can also specify parameters
+ * if necessary, see {@link Constructor} for an example.
*
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getCreate()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demand.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demand.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demand.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,22 @@
import java.lang.annotation.Target;
/**
- * The demand.
- *
+ * Used to specify a bean's demand.
+ *
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Demand("java:/something")
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * <code>SomeBean</code> cannot be installed until another bean called, or another bean that supplies something
+ * called <code>java:/something</code> has been installed.
+ *
+ * @see Supplys
+ * @see Supply
+ * @see Demands
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getDemands()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demands.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demands.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Demands.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,23 @@
import java.lang.annotation.Target;
/**
- * The demands.
- *
+ * Used to specify a bean's demands if it has more than one demand.
+ *
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Demands({@Demand("OtherBean"), @Demand("java:/something")})
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * <code>SomeBean</code> cannot be installed until another bean called, or another bean that supplies something
+ * called, <code>OtherBean</code> has been installed AND until another bean called, or another bean that supplies something
+ * called, <code>java:/something</code> has been installed.
+ *
+ * @see Supplys
+ * @see Supply
+ * @see Demand
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getDemands()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Dependency.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Dependency.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Dependency.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,9 @@
import java.lang.annotation.Target;
/**
- * Dependency.
+ * Dependency. If a bean is annotated with an annotation that in turn has been
+ * annotated with this annotation, that bean becomes dependent on a bean being deployed
+ * with the name in this annotations's <code>name</code> field.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
@@ -38,7 +40,7 @@
public @interface Dependency
{
/**
- * Get the name.
+ * Get the name of the bean this annotation introduces a dependency on.
*
* @return the name
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Depends.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Depends.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Depends.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,18 @@
import java.lang.annotation.Target;
/**
- * The depends values.
+ * Used to specify other beans we have a dependency on without wanting to inject that bean.
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Depends({"BeanA","BeanB"})
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * Creates an dependency of SomeBean on BeanA and BeanB.
*
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getDepends()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Destroy.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Destroy.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Destroy.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -7,7 +7,23 @@
/**
* Mark destroy lifecycle method.
+ *
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Destroy
+ * public void remove()
+ * {
+ * }
+ * }
+ * </pre>
+ * When <code>SomeBean</code> is uninstalled from the {@link org.jboss.dependency.spi.ControllerState#CREATE}
+ * state, the <code>remove</code> method is called by the Microcontainer. You can also specify parameters
+ * if necessary, see {@link Constructor} for an example.
*
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getDestroy()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/EntryValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/EntryValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/EntryValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,7 @@
import java.lang.annotation.ElementType;
/**
- * Map entry value.
+ * Represents an entry in a {@link MapValue}
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstall.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstall.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstall.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,9 +27,33 @@
import java.lang.annotation.ElementType;
/**
- * Define external install.
- * Must define other bean to execute instal method on.
+ * Install method defined within another bean. By default these will be called when the bean enters the
+ * {@link org.jboss.dependency.spi.ControllerState#INSTALLED} state, and the other bean must have entered
+ * the INSTALLED state.
*
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @ExternalInstall(bean="OtherBean", method="someMethod")
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * When SomeBean enters the INSTALLED state, the Microcontainer calls the <code>someMethod</code> method on OtherBean.
+ * You can also specify parameters if necessary:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @ExternalInstall(bean="OtherBean", method="otherMethod", parameters={@Value(thisValue=@ThisValue)})
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * When SomeBean enters the INSTALLED state, the Microcontainer calls the <code>otherMethod</code> method on OtherBean
+ * passing in a reference to the SomeBean being installed.
+ *
+ * @see InstallMethod
+ * @see ExternalInstalls
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getInstalls()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -37,21 +61,21 @@
public @interface ExternalInstall
{
/**
- * Get the bean.
+ * Get the name of the bean containing the install method.
*
* @return the bean
*/
String bean();
/**
- * Get the method.
+ * Get the name of the install method.
*
* @return the method
*/
String method();
/**
- * Get the dependant state.
+ * Get the state the bean containing the install method must be in.
*
* @return the dependant state
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstalls.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstalls.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalInstalls.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,11 @@
import java.lang.annotation.Target;
/**
- * Array of external installs.
+ * Used to define several install methods defined in other beans.
*
+ * @see ExternalInstall
+ * @see InstallMethod
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getInstalls()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalUninstalls.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalUninstalls.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ExternalUninstalls.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,35 @@
import java.lang.annotation.Target;
/**
- * Array of external uninstalls.
+ * Used to define one or more uninstall methods defined in other beans.<p>
+ *
+ * By default these will be called when the bean is uninstalled from the
+ * {@link org.jboss.dependency.spi.ControllerState#INSTALLED} state, and the other bean must be in
+ * the INSTALLED state.
*
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @ExternalUninstalls(@ExternalInstall(bean="OtherBean", method="someMethod"))
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * When SomeBean is uninstalled from the INSTALLED state, the Microcontainer calls the <code>someMethod</code> method on OtherBean.
+ * You can also specify parameters if necessary:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @ExternalUninstalls(@ExternalInstall(bean="OtherBean", method="otherMethod", parameters={@Value(thisValue=@ThisValue)}))
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * When SomeBean is uninstalled from the INSTALLED state, the Microcontainer calls the <code>otherMethod</code> method on OtherBean
+ * passing in a reference to the SomeBean being uninstalled.
+ *
+ * @see ExternalInstall
+ * @see InstallMethod
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getUninstalls()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Factory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Factory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Factory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,78 @@
import java.lang.annotation.Target;
/**
- * Define constructor factory.
+ * Define a static or non-static factory method to instantiate a bean. The factory method
+ * can exist outside the bean class. If the method has parameters, use the
+ * <code>parameters</code> attribute to set the parameters in the following annotations wrapped in @{@link Value}
+ * annotations.
+ * <ul>
+ * <li>@{@link ArrayValue}</li>
+ * <li>@{@link CollectionValue}</li>
+ * <li>@{@link Inject}</li>
+ * <li>@{@link JavaBeanValue}</li>
+ * <li>@{@link ListValue}</li>
+ * <li>@{@link MapValue}</li>
+ * <li>@{@link NullValue}</li>
+ * <li>@{@link SetValue}</li>
+ * <li>@{@link StringValue}</li>
+ * </ul>
+ *
+ * For example the following configuration for a static factory method:<p>
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Factory (
+ * factoryClass="org.jboss.example.StaticFactory",
+ * factoryMethod="createMyBeanInstance",
+ * parameters={@Value(string=@StringValue(value="25", type="long")), @Inject(bean="OtherBean"))})
+ * public class MyBean
+ * {
+ *
+ * public MyBean(long age, Object other)
+ * {
+ * ...
+ * }
+ *
+ * @FactoryMethod
+ * public static MyBean createInstance(@StringValue(value="25", type="long") long age, @Inject(bean="OtherBean") Object other)
+ * {
+ * return new MyBean(age, other);
+ * }
+ * }
+ * </pre>
+ * will call the static method <code>createMyBeanInstance</code> on the class <code>org.jboss.example.StaticFactory</code> to create the
+ * <code>MyBean</code> instance, passing in the long value <code>25</code> for the first parameter, and inject
+ * the bean <code>OtherBean</code> into the second parameter.
+ *
+ * This configuration for a non-static factory method:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Factory (
+ * factory=@Value(javabean=@JavaBeanValue("org.jboss.example.NonStaticFactory")),
+ * factoryMethod="createMyBeanInstance",
+ * parameters={@Value(string=@StringValue(value="25", type="long")), @Inject(bean="OtherBean"))})
+ * public class MyBean
+ * {
+ *
+ * public MyBean(long age, Object other)
+ * {
+ * ...
+ * }
+ *
+ * @FactoryMethod
+ * public static MyBean createInstance(@StringValue(value="25", type="long") long age, @Inject(bean="OtherBean") Object other)
+ * {
+ * return new MyBean(age, other);
+ * }
+ * }
+ * </pre>
+ * will instantiate an object of type <code>org.jboss.example.NonStaticFactory</code> and call the method <code>createMyBeanInstance</code>
+ * it to create the <code>MyBean</code> instance, passing in the long value <code>25</code> for the first parameter, and inject
+ * the bean <code>OtherBean</code> into the second parameter.
*
+ *
+ * @see Constructor
+ * @see FactoryMethod
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getConstructor()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -36,21 +106,23 @@
public @interface Factory
{
/**
- * Get the factory.
+ * Get the non-static factory. Only used if we want to
+ * use a non-static factory
*
* @return the factory value
*/
Value factory() default @Value();
/**
- * Get the factory class.
+ * Get the static factory class. Only used if we want to
+ * use a static factory
*
* @return the factory class
*/
Class<?> factoryClass() default void.class;
/**
- * Get the factory method.
+ * Get the factory method name.
*
* @return the factory method
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/FactoryMethod.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/FactoryMethod.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/FactoryMethod.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,46 @@
import java.lang.annotation.Target;
/**
- * Mark static method as factory method.
+ * Mark a static method as a factory method to instantiate a bean. The method must exist on
+ * the bean class itself. If the method has parameters,
+ * use the following annotations on the parameters to set their values:
+ * <ul>
+ * <li>@{@link ArrayValue}</li>
+ * <li>@{@link CollectionValue}</li>
+ * <li>@{@link Inject}</li>
+ * <li>@{@link JavaBeanValue}</li>
+ * <li>@{@link ListValue}</li>
+ * <li>@{@link MapValue}</li>
+ * <li>@{@link NullValue}</li>
+ * <li>@{@link SetValue}</li>
+ * <li>@{@link StringValue}</li>
+ * </ul>
+ *
+ * For example the following configuration:<p>
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ *
+ * public MyBean(long age, Object other)
+ * {
+ * ...
+ * }
+ *
+ * @FactoryMethod
+ * public static MyBean createInstance(@StringValue(value="25", type="long") long age, @Inject(bean="OtherBean") Object other)
+ * {
+ * return new MyBean(age, other);
+ * }
+ *
+ * }
+ * </pre>
+ * uses the <code>createInstance</code> method to construct the bean instance and uses the long value <code>25</code> for the <code>age</code> parameter, and injects
+ * the bean <code>OtherBean</code> into the <code>other</code> parameter.
*
+ * @see Constructor
+ * @see Factory
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getConstructor()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Inject.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Inject.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Inject.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -34,6 +34,7 @@
* 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.
+ * See {@link Constructor} for an example of the usage.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -42,15 +43,15 @@
public @interface Inject
{
/**
- * Get bean.
- * Default is no bean.
+ * Get bean name to inject.
+ * Default is no bean, in which
*
* @return bean name
*/
String bean() default "";
/**
- * Get property.
+ * Get property of bean to inject.
* Default is no property.
*
* @return property name
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Install.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Install.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Install.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -26,10 +26,26 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-
/**
- * Install callback.
+ * Define an Install callback on a bean to be notified whenever beans
+ * of a particular type are installed into the Microcontainer.
*
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Install
+ * public void addDatasource(Datasource ds)
+ * {
+ * ...
+ * }
+ * }
+ * </pre>
+ * Whenever a bean of type <code>Datasource</code> is installed, <code>MyBean</code>'s
+ * <code>addDataSource</code> method gets called with the <code>Datasource</code> bean as the parameter.
+ *
+ * @see Uninstall
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getInstallCallbacks()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -40,23 +56,24 @@
* Get the cardinality.
* Default is no cardinality.
*
+ * @see org.jboss.dependency.spi.Cardinality
* @return cardinality
*/
String cardinality() default "";
/**
- * Get when required.
+ * Get when required. i.e. my state.
* Default is Configured.
*
- * @return when required.
+ * @return String representation of the {@link org.jboss.dependency.spi.ControllerState} when required.
*/
String whenRequired() default "Installed";
/**
- * Get dependent state.
+ * Get dependent state, i.e. the state the beans we are listening for must be in
* Default is Installed.
*
- * @return dependent state.
+ * @return String representation of the dependenct {@link org.jboss.dependency.spi.ControllerState}.
*/
String dependentState() default "Installed";
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/InstallMethod.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/InstallMethod.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/InstallMethod.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,27 @@
import java.lang.annotation.Target;
/**
- * Internal installation method.
+ * Install method defined within the bean class itself. Several methods within the bean can be
+ * annotated with this annotation. By default these will be called when the bean enters the
+ * {@link org.jboss.dependency.spi.ControllerState#INSTALLED} state.
*
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Install
+ * public void installation()
+ * {
+ * }
+ * }
+ * </pre>
+ * When SomeBean enters the INSTALLED state, the Microcontainer calls the <code>installation</code> method.
+ * You can also specify parameters if necessary, see {@link Constructor} for an example.
+ *
+ * @see ExternalInstall
+ * @see ExternalInstalls
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getInstalls()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/JavaBeanValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/JavaBeanValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/JavaBeanValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,14 @@
import java.lang.annotation.Target;
/**
- * Java bean value.
+ * Java bean value. Instantiates an instance of the class.
+ *
+ * <pre>
+ * @JavaBeanValue(Person.class)
+ * void setPerson(Person person)
+ * </pre>
+ * instantiates an instance of <code>Person</code> using its default
+ * constructor, and uses it for the <code>person</code> parameter.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ListValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ListValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ListValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,18 @@
import java.lang.annotation.Target;
/**
- * List value injection.
- *
+ * Creates a list that can be used as a parameter
+ * <pre>
+ * @ListValue(elementClass="java.lang.String",
+ * clazz="org.jboss.example.CustomList",
+ * {@Value(string=@StringValue("string1")),
+ * @Value(string=@StringValue("string2")),
+ * @Value(string=@StringValue("string3")),
+ * @Value(string=@StringValue("string4"))})
+ * public void setList(List collection) {}
+ * </pre>
+ * creates a collection of the type <code>org.jboss.example.CustomList</code>, where all the elements are of type String.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -36,7 +46,8 @@
public @interface ListValue
{
/**
- * Get list class.
+ * Get list class. By default a {@link java.util.ArrayList}
+ * will be used.
*
* @return the list class
*/
@@ -50,7 +61,7 @@
Class<?> elementClass() default void.class;
/**
- * Get the values.
+ * An array of the values in the List.
*
* @return the values
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MCAnnotations.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -28,7 +28,8 @@
import java.lang.annotation.Target;
/**
- * Possible IoC annotations.
+ * Possible IoC annotations. Can be used to narrow the number of annotations to
+ * look for.
*
* @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MapValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MapValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/MapValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,18 @@
import java.lang.annotation.Target;
/**
- * Map value injection.
+ * Creates a map that can be used as a parameter
+ * <pre>
+ * @MapValue(keyClass="java.lang.String",
+ * valueClass="java.lang.String",
+ * {@EntryValue(key=@Value(string=@StringValue("foo.bar.key")),
+ * value=@Value(string=@StringValue("QWERT"))),
+ * @EntryValue(key=@Value(string=@StringValue("xyz.key")),
+ * value=@Value(string=@StringValue("QWERTY")))
+ * })
+ * public void setMap(Map<String, String> map) {}
+ * </pre>
+ * creates a collection of the type <code>org.jboss.example.CustomList</code>, where all the elements are of type String.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -36,7 +47,7 @@
public @interface MapValue
{
/**
- * Get the map class.
+ * Get the map class. If absent, the default type is java.util.HashMap
*
* @return the map class
*/
@@ -57,7 +68,7 @@
Class<?> valueClass() default void.class;
/**
- * Get the entries.
+ * Get the array containing this map's entries.
*
* @return the entries
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/NullValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/NullValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/NullValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,7 @@
import java.lang.annotation.Target;
/**
- * Null value.
+ * Null value. Used to specify that a value is null.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -37,7 +37,7 @@
{
/**
* Is valid.
- * Used in @Parameter and @value to define
+ * Used in @{@link Parameter} and @{@link Value} to define
* unused value.
*
* @return is value valid
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Parameter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Parameter.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Parameter.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,10 @@
import java.lang.annotation.ElementType;
/**
- * The parameter.
+ * The parameter. Similar to @{@link Value},
+ * but is used for {@link ValueFactory#parameter()}
+ * and {@link ValueFactory#parameters()}. ValueFactory, in turn,
+ * may be used within a {@link Value#valueFactory()}.
* We must distingush between @Value and @Parameter,
* since annotations don't allow cyclic dependencies.
* ValueFactory uses @Parameter to break the cycle.
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/SetValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/SetValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/SetValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,18 @@
import java.lang.annotation.Target;
/**
- * Set value injection.
- *
+ * Creates a set that can be used as a parameter
+ * <pre>
+ * @SetValue(elementClass="java.lang.String",
+ * clazz="org.jboss.example.CustomSet",
+ * {@Value(string=@StringValue("string1")),
+ * @Value(string=@StringValue("string2")),
+ * @Value(string=@StringValue("string3")),
+ * @Value(string=@StringValue("string4"))})
+ * public void setSet(Set collection) {}
+ * </pre>
+ * creates a Set of the type <code>org.jboss.example.CustomSet</code>, where all the elements are of type String.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -36,7 +46,7 @@
public @interface SetValue
{
/**
- * Get the set class.
+ * Get the set class. If unspecified, the default is java.util.HashSet.
*
* @return the set class
*/
@@ -50,7 +60,7 @@
Class<?> elementClass() default void.class;
/**
- * Get the values.
+ * Get the array of the Values in the set.
*
* @return the values
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Start.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Start.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Start.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -8,6 +8,22 @@
/**
* Mark start lifecycle method.
*
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Start
+ * public void startIt()
+ * {
+ * }
+ * }
+ * </pre>
+ * When <code>SomeBean</code> is installed to the {@link org.jboss.dependency.spi.ControllerState#START}
+ * state, the <code>startIt</code> method is called by the Microcontainer. You can also specify parameters
+ * if necessary, see {@link Constructor} for an example.
+ *
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getStart()
* @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Stop.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Stop.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Stop.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -8,6 +8,22 @@
/**
* Mark stop lifecycle method.
*
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Stop
+ * public void stopIt()
+ * {
+ * }
+ * }
+ * </pre>
+ * When <code>SomeBean</code> is uninstalled from the {@link org.jboss.dependency.spi.ControllerState#START}
+ * state, the <code>stopIt</code> method is called by the Microcontainer. You can also specify parameters
+ * if necessary, see {@link Constructor} for an example.
+ *
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getStop()
* @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/StringValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/StringValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/StringValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,13 @@
import java.lang.annotation.Target;
/**
- * String value.
+ * String value. Contains the String representation of a value,
+ * with a type to cast it to the correct type.
+ *
+ * <pre>
+ * void setInteger(@StringValue(value="123", type="int") int i){}
+ * </pre>
+ * causes the parameter <code>i</code> to be called with the int <code>123</code>.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supply.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supply.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supply.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,23 @@
import java.lang.annotation.Target;
/**
- * The supplys.
+ * Used to specify that a bean supplies something which another bean can depend on using a {@link Demand}
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Supply("java:/something")
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * When <code>SomeBean</code> is installed it is also registered in the Microcontainer that it
+ * supplies <code>java:/something</code>. Other beans that have a
+ * demand on <code>java:/something</code> cannot be installed until <code>java:/something</code>
+ * is supplied.
*
+ * @see Supplys
+ * @see Demands
+ * @see Demand
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getSupplies()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supplys.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supplys.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Supplys.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,22 @@
import java.lang.annotation.Target;
/**
- * The supplys.
+ * Used to specify a bean's supplies if it has more than one supply.
+ *
+ * <pre>
+ * @Bean(name="SomeBean")
+ * @Supplys({@Supply("java:/athing"), @Supply("java:/something"})
+ * public class MyBean
+ * {
+ * }
+ * </pre>
+ * When <code>SomeBean</code> is installed it is also registered in the Microcontainer that it
+ * supplies <code>java:/athing</code> and <code>java:/something</code>.
*
+ * @see Supply
+ * @see Demands
+ * @see Demand
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getSupplies()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ThisValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ThisValue.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ThisValue.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -28,7 +28,7 @@
/**
* This value.
- * Get the underlying target.
+ * Get the underlying target. See {@link ExternalInstall} for an example of the use
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Uninstall.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Uninstall.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Uninstall.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,25 @@
import java.lang.annotation.Target;
/**
- * Uninstall callback.
+ * Define an Uninstall callback on a bean to be notified whenever beans
+ * of a particular type are uninstalled from the Microcontainer.
+ *
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Uninstall
+ * public void removeDatasource(Datasource ds)
+ * {
+ * ...
+ * }
+ * }
+ * </pre>
+ * Whenever a bean of type <code>Datasource</code> is uninstalled, <code>MyBean</code>'s
+ * <code>removeDataSource</code> method gets called with the <code>Datasource</code> bean as the parameter.
*
+ * @see Install
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getUninstallCallbacks()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
@@ -47,7 +64,7 @@
* Get when required.
* Default is Configured.
*
- * @return when required.
+ * @return String representation of the {@link org.jboss.dependency.spi.ControllerState} when required.
*/
String whenRequired() default "Installed";
@@ -55,7 +72,7 @@
* Get dependent state.
* Default is Installed.
*
- * @return dependent state.
+ * @return String representation of the dependenct {@link org.jboss.dependency.spi.ControllerState}.
*/
String dependentState() default "Installed";
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/UninstallMethod.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/UninstallMethod.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/UninstallMethod.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,27 @@
import java.lang.annotation.Target;
/**
- * Mark the uninstall method.
+ * Unnstall method defined within the bean class itself. Several methods within the bean can be
+ * annotated with this annotation. By default these will be called when the bean is uninstalled from the
+ * {@link org.jboss.dependency.spi.ControllerState#INSTALLED} state.
*
+ * For example this configuration:
+ * <pre>
+ * @Bean(name="SomeBean")
+ * public class MyBean
+ * {
+ * @Uninstall
+ * public void uninstallation()
+ * {
+ * }
+ * }
+ * </pre>
+ * When SomeBean enters the INSTALLED state, the Microcontainer calls the <code>uninstallation</code> method.
+ * You can also specify parameters if necessary, see {@link Constructor} for an example.
+ *
+ * @see ExternalInstall
+ * @see ExternalInstalls
+ * @see org.jboss.beans.metadata.spi.BeanMetaData#getUninstalls()
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Value.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Value.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/Value.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,16 @@
import java.lang.annotation.ElementType;
/**
- * The value.
+ * Used to hold a value within one of the values representing a collection or an
+ * external method requiring parameters
+ *
+ * @see ArrayValue
+ * @see CollectionValue
+ * @see EntryValue
+ * @see ExternalInstall
+ * @see Factory
+ * @see ListValue
+ * @see SetValue
* @see Parameter
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ValueFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ValueFactory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/ValueFactory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,8 +27,18 @@
import java.lang.annotation.Target;
/**
- * The value factory.
- *
+ * A value that is calculated by making a method call on another bean.
+ *
+ * <pre>
+ * @ValueFactory(
+ * bean="PersonRegister",
+ * method="getPersonFromId",
+ * parameters={@Parameter(string=@StringValue(value="123", type="int"))})
+ * public void setCalculatedValue(Person person) {}
+ * </pre>
+ * Here, the <code>person</code> parameter is calculated, by calling <code>getPersonFromId(123)</code>
+ * on the bean called <code>PersonRegister</code>.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@Retention(RetentionPolicy.RUNTIME)
Added: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/package.html (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/annotations/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <!-- $Id: package.html 26060 2004-11-22 15:45:18Z ejort $ -->
+ <!--
+
+ JBoss: The OpenSource J2EE WebOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+
+ -->
+ </head>
+
+ <body bgcolor="white">
+ Annotations used to deploy beans. An example of a bean created using annotations is created here.
+<pre>
+@Bean(name="SomeBean")
+@Bean(name="ABean")
+public class MyBean
+{
+ long age;
+ String property;
+
+ @Constructor
+ public MyBean(@StringValue(value="25", type="long") long age)
+ {
+ ...
+ }
+
+ @StringValue(value="Hello", type="java.lang.String")
+ public void setProperty(String property)
+ {
+ this.property = property;
+ }
+}
+</pre>
+
+ If this class is compiled, we can use
+ <a href="../../../../kernel/spi/annotations/AnnotationToBeanMetaDataFactory.html">AnnotationToBeanMetaDataFactory</a> to obtain the
+ <a href="../../spi/BeanMetaData.html">BeanMetaData</a>, which can then be deployed into the controller using the
+ <a href="../../../../kernel/spi/dependency/KernelController.html">KernelController</a>.<p>
+
+
+ Once deployed, we will have a bean called <code>MyBean</code>, with an alias <code>ABean</code>. The bean will
+ be constructed using the non-default constructor passing in <code>25</code> for the <age>parameter</code>. Next it will
+ be configured with a call to <code>setProperty()</code> passing in <code>Hello</code> as the parameter. The individual
+ annotations have more examples.
+
+ <h2>Package Specification</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <h2>Related Documentation</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <!-- Put @see and @since tags down here. -->
+
+ </body>
+</html>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/AutowireType.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/AutowireType.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/AutowireType.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,22 +27,37 @@
import org.jboss.xb.annotations.JBossXmlEnum;
/**
- * Autowire type:
- * * ByClass - matching the class type of value (default)
- * * ByName - matching the property name
- * * Constructor - matching the constructor args
- * * Auto - matching constructor or by type
- * * None - do not autowire
+ * Autowire type.
+ * When autowiring is used, there is no need to explicitly specify the name of the bean
+ * you want to inject. Instead a search will be done according to this enum.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@JBossXmlEnum(ignoreCase=true)
public enum AutowireType
{
+ /**
+ * No autowiring will take place
+ */
NONE(MicrocontainerConstants.NONE),
+ /**
+ * The type of the target property is used to look up a bean of that type in the microcontainer,
+ * which is then injected.
+ */
@XmlEnumValue("ByClass") BY_CLASS(MicrocontainerConstants.BY_CLASS),
+ /**
+ * The name of the target property is used to look up a bean with that name in the microcontainer,
+ * which is then injected.
+ */
@XmlEnumValue("ByName") BY_NAME(MicrocontainerConstants.BY_NAME),
+ /**
+ * The types of the constructor arguments are used to look for beans of those types,
+ * which are then injected into the constructor parameters.
+ */
CONSTRUCTOR(MicrocontainerConstants.CONSTRUCTOR),
+ /**
+ * Automatically follows CONSTRUCTOR or BY_CLASS
+ */
AUTO(MicrocontainerConstants.AUTO);
/** The type string */
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContext.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContext.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -28,29 +28,48 @@
import org.jboss.xb.annotations.JBossXmlEnum;
/**
- * Inject from controller context:
- * * name - controller context name
- * * aliases - aliases
- * * metadata - inject MetaData
- * * beaninfo - BeanInfo
- * * scope - ScopeKey
- * * id - identifier
- * * dynamic - method specific
- * * ...
+ * Values available to inject from the controller context
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@JBossXmlEnum(ignoreCase=true)
public enum FromContext
{
+ /** Does not get any values */
NOOP(FromContextDelegate.NOOP),
+ /** Gets the name from the controller context. The target property must be assignable from
+ * the actual name value, normally this means it must be a <code>java.util.Object</code> or
+ * <code>java.util.String</code> */
NAME(FromContextDelegate.NAME),
+ /** Gets the aliases from the controller context. The target property
+ * must be a <code>java.util.Set<Object></code>
+ */
ALIASES(FromContextDelegate.ALIASES),
+ /** Gets the {@link org.jboss.beans.metadata.spi.BeanMetaData} from the controller context. The
+ * target property must be assignable from <code>org.jboss.beans.metadata.spi.BeanMetaData</code>
+ */
METADATA(FromContextDelegate.METADATA),
+ /** Gets the {@link org.jboss.beans.info.spi.BeanInfo} from the controller context. The
+ * target property must be assignable from <code>org.jboss.beans.info.spi.BeanInfo</code>
+ */
BEANINFO(FromContextDelegate.BEANINFO),
+ /** Gets the {@link org.jboss.dependency.spi.ScopeInfo} from the controller context. The
+ * target property must be assignable from <code>org.jboss.dependency.spi.ScopeInfo</code>
+ */
SCOPE(FromContextDelegate.SCOPE),
+ /** Gets the {@link org.jboss.dependency.spi.ControllerState} from the controller context. The
+ * target property must be assignable from <code>org.jboss.dependency.spi.ControllerState</code>
+ */
STATE(FromContextDelegate.STATE),
+ /**
+ * Currently the same as {@link #NAME}. In the future will contain a unique id
+ */
ID(FromContextDelegate.ID),
+ /**
+ * Gets the whole {@link org.jboss.dependency.spi.ControllerContext}. The target property must be assignable
+ * from <code>org.jboss.dependency.spi.ControllerContext</code>
+ *
+ */
CONTEXT(FromContextDelegate.CONTEXT);
/** The delegate */
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContextDelegate.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContextDelegate.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/FromContextDelegate.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -41,7 +41,7 @@
import org.jboss.util.JBossStringBuilder;
/**
- * Inject from controller context:
+ * Helper class for {@link FromContext} to inject from controller context:
* * name - controller context name
* * aliases - aliases
* * metadata - inject MetaData
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/InjectOption.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,15 +24,36 @@
import org.jboss.xb.annotations.JBossXmlEnum;
/**
- * Injection option - strict or optional / callback.
+ * Injection option defines how dependencies are injected.
+ * Unless specified when creating the injection, the default is
+ * {@link #STRICT}
*
* @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
*/
@JBossXmlEnum(ignoreCase=true)
public enum InjectOption
{
+ /**
+ * If the injected dependency is not available
+ * the target bean will wait until the dependency
+ * becomes available.
+ */
STRICT(MicrocontainerConstants.STRICT),
+ /**
+ * If the injected dependency is not available
+ * the target bean will not wait until the dependency
+ * becomes available, but move through the controller
+ * lifecycle. If the injected dependency becomes available
+ * at a later stage, it is injected then.
+ */
CALLBACK(MicrocontainerConstants.CALLBACK),
+ /**
+ * If the injected dependency is not available
+ * the target bean will not wait until the dependency
+ * becomes available, but move through the controller
+ * lifecycle. If the injected dependency becomes available
+ * at a later stage, it is ignored.
+ */
OPTIONAL(MicrocontainerConstants.OPTIONAL);
private String optionString;
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AliasMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AliasMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AliasMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -23,15 +23,21 @@
import javax.xml.bind.annotation.XmlTransient;
+import org.jboss.dependency.spi.Controller;
import org.jboss.util.JBossInterface;
/**
- * Metadata about an alias attribute.
+ * Metadata about an alias attribute. These are alternative names to be used to identify a bean
+ * locally within a {@link Controller}.
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
public interface AliasMetaData extends JBossInterface, MetaDataVisitorNode
{
@XmlTransient
+ /**
+ * Gets the name of the alias to use
+ * @return the name of the alias
+ */
Object getAliasValue();
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AnnotationMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AnnotationMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/AnnotationMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,10 +24,13 @@
import java.lang.annotation.Annotation;
import javax.xml.bind.annotation.XmlTransient;
+import org.jboss.dependency.spi.ControllerContext;
import org.jboss.util.JBossInterface;
/**
- * Metadata about an annotation attribute.
+ * Metadata about an annotation attribute that should go in the metadata
+ * repository for the {@link ControllerContext} resulting from the {@link BeanMetaData}
+ * owning this {@link AnnotationMetaData}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -35,7 +38,7 @@
public interface AnnotationMetaData extends JBossInterface, MetaDataVisitorNode
{
/**
- * Get the annotation using passed in classloader
+ * Get the annotation using the passed in classloader
* @param classloader The classloader
* @return The annotation instance
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,14 +24,22 @@
import java.util.List;
import java.util.Set;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerMode;
import org.jboss.dependency.spi.ErrorHandlingMode;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
import org.jboss.beans.metadata.api.model.AutowireType;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
import org.jboss.beans.info.spi.BeanAccessMode;
/**
- * Metadata about a bean.
- *
+ * Metadata about a bean. This is the main source of information about a bean, and is the result of parsing a
+ * <code>-beans.xml</code> or reading the bean class annotation. It can also be constructed programatically using
+ * {@link BeanMetaDataBuilder}. The MC will translate the bean metadata into a
+ * {@link KernelControllerContext} that is put into the {@link Controller} to install the bean.
+ *
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision$
@@ -39,14 +47,15 @@
public interface BeanMetaData extends FeatureMetaData, ValueMetaData
{
/**
- * Get the bean.
+ * Get the bean's classname.
*
- * @return the bean.
+ * @return the bean's classname.
*/
String getBean();
/**
- * Get the name
+ * Get the name of the bean. This is the name it will be registered under in the {@link Controller}.
+ * In the case of a hierarchy of controllers this must be unique across all the controllers.
*
* @return the name
*/
@@ -60,14 +69,17 @@
Set<RelatedClassMetaData> getRelated();
/**
- * Set the name
+ * Set the name of the bean. This is the name it will be registered under in the {@link Controller}.
+ * In the case of a hierarchy of controllers this must be unique across all the controllers.
*
* @param name the name
*/
void setName(String name);
/**
- * The aliases
+ * The aliases. An alias is an alternative name for the bean that is local to a particular
+ * {@link Controller}. Beans can express dependencies on other beans via their alias or
+ * their names.
*
* @return the aliases or null if there are no aliases
*/
@@ -88,35 +100,38 @@
boolean isAbstract();
/**
- * Get the autowire type.
- *
- * @return the autowire type
+ * Gets the autowire type. If autowiring is enabled then
+ * {@link ControllerContext}s wanting to inject the bean resulting from this bean metadata
+ * do not need to specify the name of the {@link ControllerContext}. This specifies how
+ * to lookup the autowired beans.
+ *
+ * @return the autowire type, or null if we don't want injection by autowiring
*/
AutowireType getAutowireType();
/**
- * Get the mode
+ * Get the controller mode to be used when installing this bean.
*
* @return the mode
*/
ControllerMode getMode();
/**
- * Set the name
+ * Set the controller mode to be used when installing this bean.
*
* @param mode the mode
*/
void setMode(ControllerMode mode);
/**
- * Get error handling mode
+ * Get error handling mode to be used when installing this bean.
*
* @return the error handling mode
*/
ErrorHandlingMode getErrorHandlingMode();
/**
- * Get the access mode
+ * Get the access mode for this bean.
*
* @return the access mode
*/
@@ -125,124 +140,134 @@
/**
* Is this bean is a candidate for
* getting injected via contextual matching
- * or callback resolution.
- *
+ * or callback resolution.
+ * If autowiring is enabled then
+ * {@link ControllerContext}s wanting to inject the bean resulting from this bean metadata
+ * do not need to specify the name of the {@link ControllerContext}. Instead a match between the type of the target property/
+ * parameter and my bean type can be used.
+ *
* @return true (default) if used for autowiring
*/
boolean isAutowireCandidate();
/**
- * Get the annotations
+ * Get the annotations for this bean. They will eventually end up in the meta data repository for the
+ * resulting {@link ControllerContext}.
+ *
* @return the bean annotations
*/
Set<AnnotationMetaData> getAnnotations();
/**
- * Set the annotations
+ * Set the annotations. They will eventually end up in the meta data repository for the
+ * resulting {@link ControllerContext}.
*
* @param annotations the annotations
*/
void setAnnotations(Set<AnnotationMetaData> annotations);
/**
- * Get the properties.
+ * Get the properties for the bean. This will contain the values for each property
+ * and can include injections of other beans.
*
* @return List<PropertyMetaData>.
*/
Set<PropertyMetaData> getProperties();
/**
- * Get the bean ClassLoader
+ * Get the bean ClassLoader. This is the classloader to use when constructing the bean. If not
+ * set the {@link KernelDeployment#getClassLoader()} will be used instead.
*
* @return the ClassLoader metadata
*/
ClassLoaderMetaData getClassLoader();
/**
- * Set the bean ClassLoader
+ * Set the bean ClassLoader. This is the classloader to use when constructing the bean. If not
+ * set the {@link KernelDeployment#getClassLoader()} will be used instead.
*
* @param classLoader the ClassLoader metadata
*/
void setClassLoader(ClassLoaderMetaData classLoader);
/**
- * Get the constructor
+ * Get how the bean should be constructed. If null the default constructor will be used.
*
- * @return the constructor metadata
+ * @return the constructor metadata, or null for the default constructor
*/
ConstructorMetaData getConstructor();
/**
- * Get the create lifecycle
+ * Get the create lifecycle method.
*
- * @return the create lifecycle
+ * @return the create lifecycle method
*/
LifecycleMetaData getCreate();
/**
- * Get the start lifecycle
+ * Get the start lifecycle method.
*
- * @return the start lifecycle
+ * @return the start lifecycle method
*/
LifecycleMetaData getStart();
/**
- * Get the stop lifecycle
+ * Get the stop lifecycle method.
*
- * @return the stop lifecycle
+ * @return the stop lifecycle method
*/
LifecycleMetaData getStop();
/**
- * Get the destroy lifecycle
+ * Get the destroy lifecycle method.
*
- * @return the destroy lifecycle
+ * @return the destroy lifecycle method
*/
LifecycleMetaData getDestroy();
/**
- * Get what this bean demands.
+ * Get what this bean demands for dependencies not specified using injections.
*
* @return Set<DemandMetaData>
*/
Set<DemandMetaData> getDemands();
/**
- * Get what this bean supplies.
+ * Get what this bean supplies for dependencies not specified using injections.
*
* @return Set<SupplyMetaData>
*/
Set<SupplyMetaData> getSupplies();
/**
- * Get what this bean depends.
+ * Get what other beans this bean depends on.
*
* @return Set<DependencyMetaData>
*/
Set<DependencyMetaData> getDepends();
/**
- * Get the installation oeprations.
+ * Get the installation lifecycle methods.
*
* @return List<InstallMetaData>
*/
List<InstallMetaData> getInstalls();
/**
- * Get the uninstallation operations.
+ * Get the uninstallation lifecycle methods.
*
* @return List<InstallMetaData>
*/
List<InstallMetaData> getUninstalls();
/**
- * Get the installation oeprations.
+ * Get the install callbacks that are registered for this bean.
*
* @return List<InstallMetaData>
*/
List<CallbackMetaData> getInstallCallbacks();
/**
- * Get the uninstallation operations.
+ * Get the uninstall callbacks that are registered for this bean.
*
* @return List<InstallMetaData>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaDataFactory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/BeanMetaDataFactory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,7 +24,8 @@
import java.util.List;
/**
- * BeanMetaDataFactory.
+ * BeanMetaDataFactory is used to parse some metadata and return one or more {@link BeanMetaData}
+ * entries.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -32,7 +33,7 @@
public interface BeanMetaDataFactory
{
/**
- * Get the beans
+ * Get the beans from this {@link BeanMetaDataFactory}.
*
* @return a List<BeanMetaData>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CachingAnnotationMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CachingAnnotationMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CachingAnnotationMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,7 +24,9 @@
import java.lang.annotation.Annotation;
/**
- * CachingAnnotationMetaData.
+ * A cached annotation metadata that does not try to load up the
+ * annotation using a classloader every time the {@link #getAnnotationInstance()}
+ * or {@link #getAnnotationInstance(ClassLoader)} methods are called.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
@@ -32,7 +34,8 @@
public interface CachingAnnotationMetaData extends AnnotationMetaData
{
/**
- * Retrieve any cached annotation and flush it
+ * Retrieve any cached annotation and flush it. The next call to {@link #getAnnotationInstance()}
+ * or {@link #getAnnotationInstance(ClassLoader)} will then need to load it up using the classloader.
*
* @return the annotation instance or null if non was constructed
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CallbackMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CallbackMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/CallbackMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,38 +22,44 @@
package org.jboss.beans.metadata.spi;
import org.jboss.dependency.spi.Cardinality;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
/**
- * Metadata about a callback method.
+ * Metadata about a callback method that should be invoked on us when a bean of a specific type is
+ * installed into the {@link Controller}.
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
public interface CallbackMetaData extends LifecycleMetaData
{
/**
- * Get the cardinality.
+ * Get the cardinality. This is the number of beans as a range of a certain type that must have been registered
+ * with the {@link Controller} before invoking the callback method/property/attribute specified
+ * by a {@link #getProperty()} for that type on a bean's {@link ControllerContext}.
*
* @return cardinality
*/
Cardinality getCardinality();
/**
- * Get the property name.
+ * Get the name of the property that should be invoked when triggering the callback. Alternatively,
+ * a method should be called, specified by {@link #getMethodName()}.
*
* @return the property name.
*/
String getProperty();
/**
- * Get the required state of the dependency
+ * Get the required state of the items we are listening for. The default is {@link ControllerState#INSTALLED}.
*
* @return the required state
*/
ControllerState getDependentState();
/**
- * Get signature.
+ * Get signature of the method/property. This is required if overloading has been used.
*
* @return method / property parameter signature
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassLoaderMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassLoaderMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassLoaderMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -32,7 +32,7 @@
public interface ClassLoaderMetaData extends JBossInterface, MetaDataVisitorNode
{
/**
- * Get the classloader
+ * Get the value metadata containing the actual classloader
*
* @return the classloader
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ClassMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,11 +24,15 @@
import org.jboss.util.JBossInterface;
/**
- * Class/interface metadata.
+ * Class/interface metadata. It contains a class name.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public interface ClassMetaData extends JBossInterface
{
+ /**
+ * Get the class name
+ * @return the class name
+ */
String getClassName();
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ConstructorMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ConstructorMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ConstructorMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -23,38 +23,87 @@
/**
- * Metadata about construction.
+ * Metadata about construction of a bean. If absent from the BeanMetaData, the default constructor will be called.
+ * This is used to specify the following types of construction, with a description of what values are set.
*
+ * <table border="1">
+ * <tr valign="top">
+ * <td><b><i>Type of construction/Values set</i></b></td>
+ * <td><b>{@link #getValue()}</b></td>
+ * <td><b>{@link #getFactory()}</b></td>
+ * <td><b>{@link #getFactoryClass()}</b></td>
+ * <td><b>{@link #getFactoryMethod()}</b></td>
+ * <td><b>{@link #getParameters()}</b></td>
+ * <td><b>{@link #getAnnotations()}</b></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>Normal constructor</b> - The constructor on the bean class will be called</td>
+ * <td>No</td>
+ * <td>No</td>
+ * <td>No</td>
+ * <td>No</td>
+ * <td>Optional, present if we want to pass parameters in</td>
+ * <td>Optional, present if we want to annotate the contructor</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>Static Factory</b> - A static method is called to create the bean</td>
+ * <td>No</td>
+ * <td>No</td>
+ * <td>Yes, if the factory method is not on the bean clas itself</td>
+ * <td>Yes</td>
+ * <td>Optional, present if we want to pass parameters in</td>
+ * <td>Optional, present if we want to annotate the contructor</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>Non-Static Factory</b> - a method on another bean is called to create the bean instance</td>
+ * <td>No</td>
+ * <td>Yes, contains the name of the Microcontainer bean containing the factory method</td>
+ * <td>No</td>
+ * <td>Yes</td>
+ * <td>Optional, present if we want to pass parameters in</td>
+ * <td>Optional, present if we want to annotate the contructor</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>Value</b> - Used to create a bean from a value. This can be another bean, an injection or a Set or Map</td>
+ * <td>Yes</td>
+ * <td>No</td>
+ * <td>No</td>
+ * <td>No</td>
+ * <td>Optional, present if we want to pass parameters in</td>
+ * <td>Optional, present if we want to annotate the contructor</td>
+ * </tr>
+ * </table>
+ *
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
public interface ConstructorMetaData extends ParameterizedMetaData, FeatureMetaData
{
/**
- * Get the value.
+ * Get the value shat should be used to create the bean
*
- * @return the value.
+ * @return the value, or null if not present
*/
ValueMetaData getValue();
/**
- * Get the factory.
+ * Get the non-static factory that should be used to create the bean
*
- * @return the factory.
+ * @return the factory, or null if not present
*/
ValueMetaData getFactory();
/**
- * Get the factory class.
+ * Get the static factory class that should be used to create the bean
*
- * @return the class name of the factory.
+ * @return the class name of the factory, or null if not present
*/
String getFactoryClass();
/**
- * Get the factory method.
+ * Get the factory method that should be used to create the bean
*
- * @return the factory method.
+ * @return the factory method, or null if not present
*/
String getFactoryMethod();
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -25,8 +25,10 @@
import org.jboss.util.JBossInterface;
/**
- * Metadata about what a bean demands.
+ * Metadata about what a bean demands. A demand is a dependency
+ * that does not use injection.
*
+ * @see SupplyMetaData
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision$
@@ -34,7 +36,7 @@
public interface DemandMetaData extends MetaDataVisitorNode, JBossInterface
{
/**
- * What is demanded
+ * The name of the demanded bean
*
* @return the demand
*/
@@ -48,7 +50,7 @@
ControllerState getWhenRequired();
/**
- * Get the target state
+ * Get the target state of the demanded bean
*
* @return the target state
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DependencyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DependencyMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DependencyMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,7 +24,7 @@
import org.jboss.util.JBossInterface;
/**
- * Metadata about what a bean's dependency.
+ * Metadata about a bean's dependency.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -34,7 +34,7 @@
/**
* What is the dependency
*
- * @return the dependency
+ * @return the name of the bean we depend on.
*/
Object getDependency();
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/FeatureMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/FeatureMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/FeatureMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -26,7 +26,7 @@
import org.jboss.util.JBossInterface;
/**
- * General MetaData
+ * Root interface for meta datas that can have annotations.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/InstallMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/InstallMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/InstallMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,22 +24,30 @@
import org.jboss.dependency.spi.ControllerState;
/**
- * Metadata about an installation method.
+ * Metadata about an (un)installation method.
+ * The method will be called when the bean is installed (if this metadata
+ * is in the list returned by {@link BeanMetaData#getInstalls()}, or when the bean
+ * is uninstalled if it is in the list returned by {@link BeanMetaData#getUninstalls()}.
+ * Install methods can either exist on the bean owning this {@link InstallMetaData} or
+ * on another bean, in which case we will get a dependency on the other bean.<p>
*
+ * Normally (un)installation methods will be called when invoked upon installing to/uninstalling from
+ * the {@link ControllerState#INSTALLED} state, but this can be overridden by setting {@link #setState(ControllerState)}
+ *
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
public interface InstallMetaData extends LifecycleMetaData
{
/**
- * Get the bean name.
+ * Get the bean name on which we should invoke the (un)installation method.
*
* @return the bean name.
*/
String getBean();
/**
- * Get the required state of the dependency
+ * Get the required state of bean containing the (un)installation method
*
* @return the required state or null if it must be in the registry
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/LifecycleMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/LifecycleMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/LifecycleMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -32,35 +32,37 @@
public interface LifecycleMetaData extends ParameterizedMetaData, FeatureMetaData
{
/**
- * Get the state
- *
+ * Get when the dependency is required.
+ * The default is {@link ControllerState#CONFIGURED}
+ *
* @return the state
*/
ControllerState getState();
/**
- * Set the state
- *
+ * Set when the dependency is required.
+ * The default is {@link ControllerState#CONFIGURED}
+ *
* @param state the state
*/
void setState(ControllerState state);
/**
- * Get the method name.
+ * Get the method name that should be called.
*
* @return the method name.
*/
String getMethodName();
/**
- * Set the method name
+ * Set the method name that shuld be called.
*
* @param methodName the method name
*/
void setMethodName(String methodName);
/**
- * Is default ignored.
+ * Is ignored by default.
*
* @return should we ignore default
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitor.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitor.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitor.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -29,7 +29,9 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
/**
- * A metadata vistor.
+ * A metadata vistor. The main use is to traverse a BeanMetaData composite,
+ * where each component implements the {@link MetaDataVisitorNode},
+ * and build up the {@link KernelControllerContext} parts.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -38,6 +40,7 @@
{
/**
* Get the kernel controller context
+ * we are doing work on.
*
* @return the context
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitorNode.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitorNode.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/MetaDataVisitorNode.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -23,8 +23,12 @@
import java.util.Iterator;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+
/**
- * A metadata vistor node.
+ * A metadata vistor node. Each type of metadata in this package implements
+ * this interface and knows how to augment the {@link KernelControllerContext}
+ * with the information contained.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
@@ -32,14 +36,14 @@
public interface MetaDataVisitorNode
{
/**
- * Visit the node
+ * Visit the node before any classloading has been set up.
*
* @param vistor the visitor
*/
public void initialVisit(MetaDataVisitor vistor);
/**
- * Revisit the node
+ * Revisit the node once classloading has been set up.
*
* @param vistor the visitor
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/NamedAliasMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/NamedAliasMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/NamedAliasMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -28,5 +28,9 @@
*/
public interface NamedAliasMetaData extends AliasMetaData
{
+ /**
+ * Gets the name of the alias to use
+ * @return the name of the alias
+ */
Object getName();
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,7 @@
package org.jboss.beans.metadata.spi;
/**
- * Metadata about a parameter.
+ * Metadata about a parameter in the {@link ParameterizedMetaData} list.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -30,28 +30,28 @@
public interface ParameterMetaData extends FeatureMetaData
{
/**
- * Get the type.
+ * Get the type if possible.
*
- * @return the type.
+ * @return the class name if set, null otherwise
*/
String getType();
/**
- * Get the value.
+ * Get the value of the parameter.
*
* @return the value.
*/
ValueMetaData getValue();
/**
- * Get the index
+ * Get the index of the parameter in the list of parameters
*
* @return index in list
*/
int getIndex();
/**
- * Set the index
+ * Set the index of the parameter in the list of parameters
*
* @param index the index
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterizedMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterizedMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ParameterizedMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,7 +24,7 @@
import java.util.List;
/**
- * ParameterizedMetaData.
+ * ParameterizedMetaData is a holder for a list of {@link ParameterMetaData}
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/PropertyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/PropertyMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/PropertyMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -30,7 +30,7 @@
public interface PropertyMetaData extends FeatureMetaData
{
/**
- * Get the name.
+ * Get the name of the property.
*
* @return the name.
*/
@@ -51,7 +51,7 @@
boolean isPreInstantiate();
/**
- * Get the value.
+ * Get the value the property is being set to.
*
* @return the value.
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/SupplyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/SupplyMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/SupplyMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,8 +24,10 @@
import org.jboss.util.JBossInterface;
/**
- * Metadata about what a bean demands.
+ * Metadata about what a bean supplies. This is something that is not bound as a bean itself,
+ * but looked for by a bean that 'demands' it.
*
+ * @see DemandMetaData
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ValueMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/ValueMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -39,7 +39,7 @@
import org.jboss.xb.annotations.JBossXmlGroupWildcard;
/**
- * Metadata about a value.
+ * Metadata about a value used for a parameter or property.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -37,6 +37,9 @@
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
+import org.jboss.beans.metadata.spi.ConstructorMetaData;
+import org.jboss.beans.metadata.spi.LifecycleMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
import org.jboss.beans.metadata.spi.RelatedClassMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.dependency.spi.Cardinality;
@@ -44,9 +47,28 @@
import org.jboss.dependency.spi.ControllerState;
import org.jboss.dependency.spi.ErrorHandlingMode;
import org.jboss.dependency.spi.graph.SearchInfo;
+import org.jboss.kernel.api.dependency.MatcherFactory;
/**
- * BeanMetaDataBuilder contract.
+ * The BeanMetaDataBuilder is a class that allows you to construct a {@link BeanMetaData}
+ * programatically.<p>
+ * Users should first call one of the <code>createBuilder()</code> methods, do some work on
+ * the returned builder and then call <code>getBeanMetaData()</code>. e.g.:
+ * <pre>
+ * BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder("MyBean", "org.acme.Foo");
+ * builder.addAnnotation("@org.acme.Marker").addPropertyMetaData("simple", "Simple");
+ * ValueMetaData inject = aspectBuilder.createInject("OtherBean");
+ * builder.addPropertyMetaData("injected", inject);
+ * BeanMetaData bmd = builder.getBeanMetaData();
+ * </pre>
+ * will result in a similar BeanMetaData to deploying the following xml
+ * <pre>
+ * <bean name="MyBean" class="org.acme.Foo">
+ * <annotation>@org.acme.Marker</annotation>
+ * <property name="simple">Simple</property>
+ * <property name="injected"><inject name="OtherBean"/></property>
+ * </bean>
+ * </pre>
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
* @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
@@ -54,10 +76,10 @@
public abstract class BeanMetaDataBuilder
{
/**
- * Create builder from bean.
+ * Create builder from a bean's class name.
*
* @param beanClassName bean class name
- * @return new Builder
+ * @return a new BeanMetaDataBuilder
*/
public static BeanMetaDataBuilder createBuilder(String beanClassName)
{
@@ -65,11 +87,11 @@
}
/**
- * Create builder from name and bean.
+ * Create builder from name and bean's classname.
*
* @param beanInstanceName bean name
* @param beanClassName bean class name
- * @return new Builder
+ * @return a new BeanMetaDataBuilder
*/
public static BeanMetaDataBuilder createBuilder(String beanInstanceName, String beanClassName)
{
@@ -77,10 +99,10 @@
}
/**
- * Create builder from BeanMetaData
+ * Create builder from an existing BeanMetaData
*
* @param beanMetaData the bean metadata
- * @return new Builder()
+ * @return a new BeanMetaDataBuilder
*/
public static BeanMetaDataBuilder createBuilder(BeanMetaData beanMetaData)
{
@@ -107,7 +129,7 @@
* Note: this one includes all nested beans from
* underlying bean metadata.
*
- * @return bean meta data factory
+ * @return bean meta data factory
*/
public abstract BeanMetaDataFactory getBeanMetaDataFactory();
@@ -131,100 +153,119 @@
}
/**
- * Set the bean name.
+ * Set the bean name
*
+ * @see BeanMetaData#getName()
* @param name the name
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setName(String name);
/**
- * Set the bean.
+ * Set the bean class.
*
+ * @see BeanMetaData#getBean()
* @param bean the bean class name
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setBean(String bean);
/**
- * Set the aliases
+ * Set the aliases. This overwrites any existing aliases.
*
+ * @see BeanMetaData#getAliases()
* @param aliases the aliases
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setAliases(Set<Object> aliases);
/**
- * Add related class.
+ * Add related class to the set of related classes.
*
+ * @see BeanMetaData#getRelated()
* @param className the related class name
* @param enabled the enabled
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addRelatedClass(String className, Object... enabled);
/**
- * Add related class.
+ * Add related class to the set of related classes.
*
+ * @see BeanMetaData#getRelated()
* @param related the related class
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addRelatedClass(RelatedClassMetaData related);
/**
- * Set the related
+ * Set the related classes. This overwrites any existing related classes.
*
- * @param related the related
- * @return the builder
+ * @see BeanMetaData#getRelated()
+ * @param related the set of related classes
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setRelated(Set<RelatedClassMetaData> related);
/**
- * Add alias.
+ * Add alias to the set of aliases.
*
+ * @see BeanMetaData#getAliases()
* @param alias the alias
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addAlias(Object alias);
/**
- * Set the annotations
+ * Set the annotations. This overwrites any exisisting annotations.
*
+ * @see BeanMetaData#getAnnotations()
* @param annotations the annotations
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setAnnotations(Set<String> annotations);
/**
- * Add annotation.
+ * Add annotation to the set of annotations, with system property replacement.
*
- * @param annotation the annotation
- * @return the builder
+ * @see #addAnnotation(String, boolean)
+ * @see BeanMetaData#getAnnotations()
+ * @param annotation string representation of the annotation, e.g. <code>@org.acme.Marker</code>
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addAnnotation(String annotation);
/**
- * Add annotation.
+ * Add annotation to the set of annotations, with system property replacement.
*
- * @param annotation the annotation
- * @return the builder
+ * @see #addAnnotation(String, boolean)
+ * @see BeanMetaData#getAnnotations()
+ * @param annotation the annotation instance
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addAnnotation(Annotation annotation);
/**
- * Add annotation.
+ * Add annotation to the set of annotations.
*
- * @param annotation the annotation
- * @param replace the replace flag
- * @return the builder
+ * @param annotation string representation of the annotation, e.g. <code>@org.acme.Marker</code>
+ * @param replace whether system property replacement should happen on the values. e.g. if we have
+ * <code>@org.acme.WithProperty("${test.property}")</code> and the value of
+ * <code>-Dtest.property=hello</code>, this becomes <code>@org.acme.WithProperty("hello")</code>.
+ *
+ * @see BeanMetaData#getAnnotations()
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addAnnotation(String annotation, boolean replace);
/**
- * Set the mode
+ * Set the controller mode to use for the
+ * {@link org.jboss.kernel.spi.dependency.KernelControllerContext} constructed
+ * from the {@link BeanMetaData} created from this builder.
*
- * @param modeString the mode
- * @return the builder
+ * @see BeanMetaData#getMode()
+ * @param modeString the name of the {@link org.jboss.dependency.spi.ControllerMode}
+ * @return this builder
*/
public BeanMetaDataBuilder setMode(String modeString)
{
@@ -232,61 +273,73 @@
}
/**
- * Set the mode
+ * Set the controller mode to use for the
+ * {@link org.jboss.kernel.spi.dependency.KernelControllerContext} constructed
+ * from the {@link BeanMetaData} created from this builder.
*
+ * @see BeanMetaData#getMode()
* @param mode the mode
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setMode(ControllerMode mode);
/**
- * Set the access mode
+ * Set the bean access mode to use for the bean.
*
+ * @see BeanMetaData#getAccessMode()
* @param mode the access mode
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setAccessMode(BeanAccessMode mode);
/**
- * Set the error handling mode
+ * Set the error handling mode to use for the
+ * {@link org.jboss.kernel.spi.dependency.KernelControllerContext} constructed
+ * from the {@link BeanMetaData} created from this builder.
*
+ * @see BeanMetaData#getErrorHandlingMode()
* @param mode the error handling mode
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setErrorHandlingMode(ErrorHandlingMode mode);
/**
- * Set the autowire type
+ * Set the autowire type to be used for the
+ * {@link org.jboss.kernel.spi.dependency.KernelControllerContext} constructed
+ * from the {@link BeanMetaData} created from this builder.
*
+ * @see BeanMetaData#getAutowireType()
* @param type the autowire type
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setAutowireType(AutowireType type);
/**
- * Is bean autowire candidate.
+ * Set whether the bean is an autowire candidate
*
+ * @see BeanMetaData#isAutowireCandidate()
* @param candidate the candidate flag
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setAutowireCandidate(boolean candidate);
/**
* Set that we don't want to use the deployment classloader
*
- * @return the builder
+ * @see BeanMetaData#getClassLoader()
+ * @return this builder
*/
-
public BeanMetaDataBuilder setNoClassLoader()
{
return setClassLoader(createNull());
}
/**
- * Set the classloader
+ * Set the classloader to be used to load the class for this bean
*
+ * @see BeanMetaData#getClassLoader()
* @param classLoader the classloader
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder setClassLoader(Object classLoader)
{
@@ -294,26 +347,30 @@
}
/**
- * Set the classloader
+ * Set the classloader to be used to load the class for this bean
*
- * @param classLoader the classloader
- * @return the builder
+ * @see BeanMetaData#getClassLoader()
+ * @param classLoader a value metadata containing the classloader
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setClassLoader(ValueMetaData classLoader);
/**
- * Set the classloader
+ * Set the classloader to be used to load the class for this bean
*
+ * @see BeanMetaData#getClassLoader()
* @param classLoader the classloader
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setClassLoader(ClassLoaderMetaData classLoader);
/**
- * Set the factory
+ * Set the non-static factory bean to use constructing the bean
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getFactory()
* @param factory the factory
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder setFactory(Object factory)
{
@@ -321,10 +378,12 @@
}
/**
- * Set the factory
+ * Set the non-static factory bean to use constructing the bean
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getFactory()
* @param bean the bean name
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder setFactory(String bean)
{
@@ -332,11 +391,13 @@
}
/**
- * Set the factory
+ * Set the non-static factory bean to use constructing the bean
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getFactory()
* @param bean the bean name
* @param property the property name for the factory
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder setFactory(String bean, String property)
{
@@ -344,327 +405,397 @@
}
/**
- * Set the factory
+ * Set the non-static factory bean to use constructing the bean
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getFactory()
* @param factory the factory
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setFactory(ValueMetaData factory);
/**
- * Set the factory class
+ * Set the non-static factory class to use constructing the bean
*
- * @param factoryClass the factory class
- * @return the builder
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getFactoryClass()
+ * @param factoryClass the factory class name
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setFactoryClass(String factoryClass);
/**
- * Set the factory method
+ * Set the factory method to use constructing the bean.
*
- * @param factoryMethod the factory method
- * @return the builder
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getFactoryMethod()
+ * @param factoryMethod the name of the factory method
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setFactoryMethod(String factoryMethod);
/**
- * Set the constructor value
+ * Set the constructor value to use constructing the bean
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getValue()
* @param value the object "constructed"
- * @return the builder
+ * @return this builder
*/
-
public BeanMetaDataBuilder setConstructorValue(Object value)
{
return setConstructorValue(createValue(value));
}
/**
- * Set the constructor value
+ * Set the constructor value to use constructing the bean
*
- * @param type the type
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getValue()
+ * @param type the type of the object
* @param value the object "constructed"
- * @return the builder
+ * @return this builder
*/
-
public BeanMetaDataBuilder setConstructorValue(String type, String value)
{
return setConstructorValue(createString(type, value));
}
/**
- * Set the constructor value
+ * Set the constructor value to use constructing the bean
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getValue()
* @param value the object "constructed"
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setConstructorValue(ValueMetaData value);
/**
- * Add a constructor parameter
+ * Add a constructor parameter to use when calling the constructor or a factory method
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getParameters()
* @param type the parameter type
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addConstructorParameter(String type, Object value);
/**
- * Add a constructor parameter
+ * Add a constructor parameter to use when calling the constructor or a factory method
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value String representation of the value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addConstructorParameter(String type, String value);
/**
- * Add a constructor parameter
+ * Add a constructor parameter to use when calling the constructor or a factory method
*
+ * @see BeanMetaData#getConstructor()
+ * @see ConstructorMetaData#getParameters()
* @param type the parameter type
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addConstructorParameter(String type, ValueMetaData value);
/**
- * Add a property, replace it if it already exists
+ * Add a property to the beans set of properties, replace it if it already exists
*
+ * @see BeanMetaData#getProperties()
* @param name the property name
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyMetaData(String name, Object value);
/**
- * Add a property, replace it if it already exists
+ * Add a property to the beans set of properties, replace it if it already exists
*
+ * @see BeanMetaData#getProperties()
* @param name the property name
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyMetaData(String name, String value);
/**
- * Add a property, replace it if it already exists
+ * Add a property to the beans set of properties, replace it if it already exists
*
+ * @see BeanMetaData#getProperties()
* @param name the property name
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyMetaData(String name, ValueMetaData value);
/**
- * Add a property, replace it if it already exists
+ * Add a property to the beans set of properties, replace it if it already exists
*
+ * @see BeanMetaData#getProperties()
* @param name the property name
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyMetaData(String name, Collection<ValueMetaData> value);
/**
- * Add a property annotation.
+ * Add an annotation to a property, with system property replacement
*
+ * @see #addPropertyAnnotation(String, String, boolean)
+ * @see BeanMetaData#getProperties()
+ * @see PropertyMetaData#getAnnotations()
* @param name the property name
- * @param annotation the annotation
- * @return the builder
+ * @param annotation the annotation in string format, e.g. <code>@org.acme.Marker</code>
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyAnnotation(String name, String annotation);
/**
- * Add a property annotation.
+ * Add an annotation to a property, with system property replacement
*
+ * @see #addPropertyAnnotation(String, String, boolean)
+ * @see BeanMetaData#getProperties()
+ * @see PropertyMetaData#getAnnotations()
* @param name the property name
- * @param annotation the annotation
- * @param replace the replace flag
- * @return the builder
+ * @param annotation string representation of the annotation, e.g. <code>@org.acme.Marker</code>
+ * @param replace whether system property replacement should happen on the values. e.g. if we have
+ * <code>@org.acme.WithProperty("${test.property}")</code> and the value of
+ * <code>-Dtest.property=hello</code>, this becomes <code>@org.acme.WithProperty("hello")</code>.
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyAnnotation(String name, String annotation, boolean replace);
/**
* Add a property annotation.
*
+ * @see #addPropertyAnnotation(String, String, boolean)
+ * @see BeanMetaData#getProperties()
+ * @see PropertyMetaData#getAnnotations()
* @param name the property name
* @param annotation the annotation
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyAnnotation(String name, Annotation annotation);
/**
- * Add a property, replace it if it already exists
+ * Add a property to the beans set of properties, replace it if it already exists
*
+ * @see BeanMetaData#getProperties()
* @param name the property name
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyMetaData(String name, Map<ValueMetaData, ValueMetaData> value);
/**
* Should we ignore default create invocation.
*
- * @return the builder
+ * @see BeanMetaData#getCreate()
+ * @see LifecycleMetaData#isIgnored()
+ * @return this builder
*/
public abstract BeanMetaDataBuilder ignoreCreate();
/**
* Set the create method
*
+ * @see BeanMetaData#getCreate()
+ * @see LifecycleMetaData#getMethodName()
* @param methodName the method name
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setCreate(String methodName);
/**
- * Add a create parameter
+ * Add a parameter to be passed in to the create method
*
+ * @see BeanMetaData#getCreate()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addCreateParameter(String type, Object value);
/**
- * Add a create parameter
+ * Add a parameter to be passed in to the create method
*
+ * @see BeanMetaData#getCreate()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value String representation of the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addCreateParameter(String type, String value);
/**
- * Add a create parameter
+ * Add a parameter to be passed in to the create method
*
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addCreateParameter(String type, ValueMetaData value);
/**
* Should we ignore default start invocation.
*
- * @return the builder
+ * @see BeanMetaData#getStart()
+ * @see LifecycleMetaData#isIgnored()
+ * @return this builder
*/
public abstract BeanMetaDataBuilder ignoreStart();
/**
* Set the start method
*
+ * @see BeanMetaData#getStart()
+ * @see LifecycleMetaData#getMethodName()
* @param methodName the method name
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setStart(String methodName);
/**
- * Add a start parameter
+ * Add a parameter to be passed in to the start method
*
+ * @see BeanMetaData#getStart()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addStartParameter(String type, Object value);
/**
- * Add a start parameter
+ * Add a parameter to be passed in to the start method
*
- * @param type the parameter type
+ * @see BeanMetaData#getStart()
+ * @see LifecycleMetaData#getParameters()
+ * @param type String representation of the parameter type
* @param value the value
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addStartParameter(String type, String value);
/**
- * Add a start parameter
+ * Add a parameter to be passed in to the start method
*
+ * @see BeanMetaData#getStart()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addStartParameter(String type, ValueMetaData value);
/**
* Should we ignore default stop invocation.
*
- * @return the builder
+ * @see BeanMetaData#getStop()
+ * @see LifecycleMetaData#isIgnored()
+ * @return this builder
*/
public abstract BeanMetaDataBuilder ignoreStop();
/**
* Set the stop method
*
+ * @see BeanMetaData#getStop()
+ * @see LifecycleMetaData#getMethodName()
* @param methodName the method name
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setStop(String methodName);
/**
- * Add a stop parameter
+ * Add a parameter to be passed in to the stop method
*
+ * @see BeanMetaData#getStop()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addStopParameter(String type, Object value);
/**
- * Add a stop parameter
+ * Add a parameter to be passed in to the stop method
*
+ * @see BeanMetaData#getStop()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addStopParameter(String type, String value);
/**
- * Add a stop parameter
+ * Add a parameter to be passed in to the stop method
*
+ * @see BeanMetaData#getStop()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addStopParameter(String type, ValueMetaData value);
/**
* Should we ignore default destroy invocation.
*
- * @return the builder
+ * @See {@link BeanMetaData#getDestroy()}
+ * @see LifecycleMetaData#isIgnored()
+ * @return this builder
*/
public abstract BeanMetaDataBuilder ignoreDestroy();
/**
* Set the destroy method
*
+ * @see BeanMetaData#getDestroy()
+ * @see LifecycleMetaData#getMethodName()
* @param methodName the method name
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder setDestroy(String methodName);
/**
- * Add a destroy parameter
+ * Add a parameter to be passed in to the destroy method
*
+ * @see BeanMetaData#getDestroy()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addDestroyParameter(String type, Object value);
/**
- * Add a destroy parameter
+ * Add a parameter to be passed in to the destroy method
*
+ * @see BeanMetaData#getDestroy()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addDestroyParameter(String type, String value);
/**
- * Add a destroy parameter
+ * Add a parameter to be passed in to the destroy method
*
+ * @see BeanMetaData#getDestroy()
+ * @see LifecycleMetaData#getParameters()
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addDestroyParameter(String type, ValueMetaData value);
@@ -672,7 +803,7 @@
* Add a supply
*
* @param supply the supply
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addSupply(Object supply)
{
@@ -684,15 +815,18 @@
*
* @param supply the supply
* @param type the supply type
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addSupply(Object supply, String type);
/**
- * Add a demand
+ * Add a demand using the default value for when the supply is required by the demanding bean
+ * {@link ControllerState#DESCRIBED} and the default value for the state of the supply
+ * (link {@link ControllerState#INSTALLED}
*
+ * @see BeanMetaData#getDemands()
* @param demand the demand
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addDemand(Object demand)
{
@@ -700,12 +834,15 @@
}
/**
- * Add a demand
+ * Add a demand using the default value for the state of the supply
+ * (link {@link ControllerState#INSTALLED}.
*
+ * @see BeanMetaData#getDemands()
+ * @see MatcherFactory
* @param demand the demand
- * @param whenRequired when the demand is required
- * @param transformer the transformer
- * @return the builder
+ * @param whenRequired string represenation of the when the demand is required
+ * @param transformer the transformer name as described in {@link MatcherFactory}
+ * @return this builder
*/
public BeanMetaDataBuilder addDemand(Object demand, String whenRequired, String transformer)
{
@@ -716,12 +853,15 @@
}
/**
- * Add a demand
+ * Add a demand using the default value for the state of the supply
+ * (link {@link ControllerState#INSTALLED} and the
*
+ * @see BeanMetaData#getDemands()
+ * @see MatcherFactory
* @param demand the demand
* @param whenRequired when the demand is required
- * @param transformer the transformer
- * @return the builder
+ * @param transformer the transformer name as described in {@link MatcherFactory}
+ * @return this builder
*/
public BeanMetaDataBuilder addDemand(Object demand, ControllerState whenRequired, String transformer)
{
@@ -729,29 +869,33 @@
}
/**
- * Add a demand
- *
+ * Add a demand
+ *
+ * @see BeanMetaData#getDemands()
+ * @see MatcherFactory
* @param demand the demand
* @param whenRequired when the demand is required
- * @param targetState the target state
- * @param transformer the transformer
- * @return the builder
+ * @param targetState the target state of the supply
+ * @param transformer the transformer name as described in {@link MatcherFactory}
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addDemand(Object demand, ControllerState whenRequired, ControllerState targetState, String transformer);
/**
* Add a dependency
- *
- * @param dependency the dependency
- * @return the builder
+ *
+ * @see BeanMetaData#getDepends()
+ * @param dependency the name of the dependency, i.e. bean name
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addDependency(Object dependency);
/**
- * Add an install
+ * Add an install where the install method resides in the bean being built here
*
- * @param methodName the method name
- * @return the builder
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName)
{
@@ -759,12 +903,14 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in the bean being build here,
+ * taking a single parameter.
*
- * @param methodName the method name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String type, Object value)
{
@@ -772,12 +918,14 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in the bean being build here,
+ * taking a single parameter.
*
- * @param methodName the method name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value String representation of the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String type, String value)
{
@@ -785,12 +933,14 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in the bean being build here,
+ * taking a single parameter.
*
- * @param methodName the method name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String type, ValueMetaData value)
{
@@ -798,12 +948,17 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in the bean being build here,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
* @param methodName the method name
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String[] types, Object[] values)
{
@@ -811,12 +966,16 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in the bean being build here,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the string representations of the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String[] types, String[] values)
{
@@ -824,12 +983,16 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in the bean being build here,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String[] types, ValueMetaData[] values)
{
@@ -837,11 +1000,13 @@
}
/**
- * Add an install with a this parameter
+ * Add an install, where the install method resides in another bean, passing in a single
+ * parameter which is the 'this' pointer to the bean being created here.
*
- * @param methodName the method name
- * @param bean the bean name
- * @return the builder
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
+ * @return this builder
*/
public BeanMetaDataBuilder addInstallWithThis(String methodName, String bean)
{
@@ -849,12 +1014,14 @@
}
/**
- * Add an install with a this parameter
+ * Add an install, where the install method resides in another bean, passing in a single
+ * parameter which is the 'this' pointer to the bean being created here
*
- * @param methodName the method name
- * @param bean the bean name
- * @param state the state of the bean
- * @return the builder
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
+ * @param state the required state of the bean containing the install method
+ * @return this builder
*/
public BeanMetaDataBuilder addInstallWithThis(String methodName, String bean, ControllerState state)
{
@@ -862,13 +1029,15 @@
}
/**
- * Add an install with a this parameter
+ * Add an install, where the install method resides in another bean, passing in a single
+ * parameter which is the 'this' pointer to the bean being created here
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param state the state of the bean
- * @param whenRequired the state when to install
- * @return the builder
+ * @param whenRequired the state when to call install
+ * @return this builder
*/
public BeanMetaDataBuilder addInstallWithThis(String methodName, String bean, ControllerState state, ControllerState whenRequired)
{
@@ -878,11 +1047,12 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean
*
- * @param methodName the method name
- * @param bean the bean name
- * @return the builder
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String bean)
{
@@ -891,13 +1061,15 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean,
+ * taking a single parameter
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param type the parameter type
* @param value the value
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String bean, String type, Object value)
{
@@ -907,13 +1079,15 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean,
+ * taking a single parameter
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the string representation of the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String bean, String type, String value)
{
@@ -923,13 +1097,15 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean,
+ * taking a single parameter
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String bean, String type, ValueMetaData value)
{
@@ -939,13 +1115,17 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String bean, String[] types, Object[] values)
{
@@ -956,13 +1136,17 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in in another bean,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the string representations of the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String bean, String[] types, String[] values)
{
@@ -973,13 +1157,17 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in in another bean,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addInstall(String methodName, String bean, String[] types, ValueMetaData[] values)
{
@@ -990,10 +1178,12 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in the bean being built here,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @return the builder
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @return the parameter builder
*/
public ParameterMetaDataBuilder addInstallWithParameters(String methodName)
{
@@ -1001,11 +1191,13 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @param bean the bean name
- * @return the builder
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
+ * @return the parameter builder
*/
public ParameterMetaDataBuilder addInstallWithParameters(String methodName, String bean)
{
@@ -1013,10 +1205,12 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param state the state of the bean
* @return the parameter builder
*/
@@ -1026,21 +1220,24 @@
}
/**
- * Add an install
+ * Add an install where the install method resides in another bean,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getInstalls()
+ * @param methodName the name of the method to be called upon install
+ * @param bean the name of the bean containing the method to be called upon install
* @param state the state of the bean
- * @param whenRequired the state when to install
+ * @param whenRequired the state when to call install
* @return the parameter builder
*/
public abstract ParameterMetaDataBuilder addInstallWithParameters(String methodName, String bean, ControllerState state, ControllerState whenRequired);
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being built here
*
- * @param methodName the method name
- * @return the builder
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName)
{
@@ -1048,12 +1245,14 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being build here,
+ * taking a single parameter.
*
- * @param methodName the method name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String type, Object value)
{
@@ -1061,12 +1260,14 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being build here,
+ * taking a single parameter.
*
- * @param methodName the method name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value String representation of the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String type, String value)
{
@@ -1074,12 +1275,14 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being build here,
+ * taking a single parameter.
*
- * @param methodName the method name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String type, ValueMetaData value)
{
@@ -1087,12 +1290,17 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being build here,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
* @param methodName the method name
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String[] types, Object[] values)
{
@@ -1100,12 +1308,16 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being build here,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the string representations of the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String[] types, String[] values)
{
@@ -1113,12 +1325,16 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being build here,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String[] types, ValueMetaData[] values)
{
@@ -1126,11 +1342,13 @@
}
/**
- * Add an uninstall with a this parameter
+ * Add an uninstall, where the uninstall method resides in another bean, passing in a single
+ * parameter which is the 'this' pointer to the bean being created here.
*
- * @param methodName the method name
- * @param bean the bean name
- * @return the builder
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstallWithThis(String methodName, String bean)
{
@@ -1138,12 +1356,14 @@
}
/**
- * Add an uninstall with a this parameter
+ * Add an uninstall, where the uninstall method resides in another bean, passing in a single
+ * parameter which is the 'this' pointer to the bean being created here
*
- * @param methodName the method name
- * @param bean the bean name
- * @param state the state when to uninstall
- * @return the builder
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
+ * @param state the required state of the bean containing the uninstall method
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstallWithThis(String methodName, String bean, ControllerState state)
{
@@ -1151,13 +1371,15 @@
}
/**
- * Add an uninstall with a this parameter
+ * Add an uninstall, where the uninstall method resides in another bean, passing in a single
+ * parameter which is the 'this' pointer to the bean being created here
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param state the state of the bean
- * @param whenRequired the state when to uninstall
- * @return the builder
+ * @param whenRequired the state when to call uninstall
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstallWithThis(String methodName, String bean, ControllerState state, ControllerState whenRequired)
{
@@ -1167,11 +1389,12 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean
*
- * @param methodName the method name
- * @param bean the bean name
- * @return the builder
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String bean)
{
@@ -1180,13 +1403,15 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean,
+ * taking a single parameter
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String bean, String type, Object value)
{
@@ -1196,13 +1421,15 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean,
+ * taking a single parameter
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the string representation of the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String bean, String type, String value)
{
@@ -1212,13 +1439,15 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean,
+ * taking a single parameter
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param type the parameter type
- * @param value the value
- * @return the builder
+ * @param value the parameter value
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String bean, String type, ValueMetaData value)
{
@@ -1228,13 +1457,17 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String bean, String[] types, Object[] values)
{
@@ -1245,13 +1478,17 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in in another bean,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the string representations of the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String bean, String[] types, String[] values)
{
@@ -1262,13 +1499,17 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in in another bean,
+ * taking several parameters. The <code>types</code> and <code>values</code>
+ * arrays must have the same lengths, and <code>types[i]</code> is the type of
+ * <code>values[i]</code>.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param types the parameter types
- * @param values the values
- * @return the builder
+ * @param values the parameter values
+ * @return this builder
*/
public BeanMetaDataBuilder addUninstall(String methodName, String bean, String[] types, ValueMetaData[] values)
{
@@ -1279,10 +1520,12 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in the bean being built here,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @return the builder
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @return the parameter builder
*/
public ParameterMetaDataBuilder addUninstallWithParameters(String methodName)
{
@@ -1290,11 +1533,13 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @param bean the bean name
- * @return the builder
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
+ * @return the parameter builder
*/
public ParameterMetaDataBuilder addUninstallWithParameters(String methodName, String bean)
{
@@ -1302,10 +1547,12 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param state the state of the bean
* @return the parameter builder
*/
@@ -1315,12 +1562,14 @@
}
/**
- * Add an uninstall
+ * Add an uninstall where the uninstall method resides in another bean,
+ * returning a parameter builder that can be used to add parameters.
*
- * @param methodName the method name
- * @param bean the bean name
+ * @see BeanMetaData#getUninstalls()
+ * @param methodName the name of the method to be called upon uninstall
+ * @param bean the name of the bean containing the method to be called upon uninstall
* @param state the state of the bean
- * @param whenRequired the state when to uninstall
+ * @param whenRequired the state when to call uninstall
* @return the parameter builder
*/
public abstract ParameterMetaDataBuilder addUninstallWithParameters(String methodName, String bean, ControllerState state, ControllerState whenRequired);
@@ -1328,8 +1577,9 @@
/**
* Add property install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param property the property name
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyInstallCallback(String property)
{
@@ -1339,9 +1589,10 @@
/**
* Add property install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param property the property name
* @param whenRequired the when required state
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyInstallCallback(String property, ControllerState whenRequired)
{
@@ -1351,9 +1602,10 @@
/**
* Add property install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param property the property name
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyInstallCallback(String property, Cardinality cardinality)
{
@@ -1363,10 +1615,11 @@
/**
* Add property install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param property the property name
* @param whenRequired the when required state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyInstallCallback(String property, ControllerState whenRequired, Cardinality cardinality)
{
@@ -1376,12 +1629,13 @@
/**
* Add property install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param property the property name
* @param signature the property signature
* @param whenRequired the when required state
* @param dependentState the dependant state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyInstallCallback(
String property,
@@ -1393,8 +1647,9 @@
/**
* Add property uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param property the property name
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyUninstallCallback(String property)
{
@@ -1404,9 +1659,10 @@
/**
* Add property uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param property the property name
* @param whenRequired the when required state
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyUninstallCallback(String property, ControllerState whenRequired)
{
@@ -1416,9 +1672,10 @@
/**
* Add property uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param property the property name
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyUninstallCallback(String property, Cardinality cardinality)
{
@@ -1428,10 +1685,11 @@
/**
* Add property uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param property the property name
* @param whenRequired the when required state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addPropertyUninstallCallback(String property, ControllerState whenRequired, Cardinality cardinality)
{
@@ -1441,12 +1699,13 @@
/**
* Add property uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param property the property name
* @param signature the property signature
* @param whenRequired the when required state
* @param dependentState the dependant state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addPropertyUninstallCallback(
String property,
@@ -1458,8 +1717,9 @@
/**
* Add method install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param method the method name
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodInstallCallback(String method)
{
@@ -1469,9 +1729,10 @@
/**
* Add method install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param method the method name
* @param whenRequired the when required state
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodInstallCallback(String method, ControllerState whenRequired)
{
@@ -1481,9 +1742,10 @@
/**
* Add method install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param method the method name
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodInstallCallback(String method, Cardinality cardinality)
{
@@ -1493,10 +1755,11 @@
/**
* Add method install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param method the method name
* @param whenRequired the when required state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodInstallCallback(String method, ControllerState whenRequired, Cardinality cardinality)
{
@@ -1506,12 +1769,13 @@
/**
* Add method install callback.
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param method the method name
* @param signature the method signature
* @param whenRequired the when required state
* @param dependentState the dependant state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addMethodInstallCallback(
String method,
@@ -1523,8 +1787,9 @@
/**
* Add method uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param method the method name
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodUninstallCallback(String method)
{
@@ -1534,9 +1799,10 @@
/**
* Add method uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param method the method name
* @param whenRequired the when required state
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodUninstallCallback(String method, ControllerState whenRequired)
{
@@ -1546,9 +1812,10 @@
/**
* Add method uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param method the method name
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodUninstallCallback(String method, Cardinality cardinality)
{
@@ -1558,10 +1825,11 @@
/**
* Add method uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param method the method name
* @param whenRequired the when required state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public BeanMetaDataBuilder addMethodUninstallCallback(String method, ControllerState whenRequired, Cardinality cardinality)
{
@@ -1571,12 +1839,13 @@
/**
* Add method uninstall callback.
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param method the method name
* @param signature the method signature
* @param whenRequired the when required state
* @param dependentState the dependant state
* @param cardinality the cardinality
- * @return the builder
+ * @return this builder
*/
public abstract BeanMetaDataBuilder addMethodUninstallCallback(
String method,
@@ -1588,6 +1857,7 @@
/**
* Create related class name.
*
+ * @see BeanMetaData#getRelated()
* @param className the related class name
* @param enabled the enabled
* @return new related class meta data
@@ -1609,7 +1879,7 @@
public abstract ValueMetaData createThis();
/**
- * Create a value
+ * Create a value containing an object
*
* @param value the already constructed value
* @return the value
@@ -1626,9 +1896,9 @@
public abstract ValueMetaData createString(String type, String value);
/**
- * Create an injection
+ * Create an injection using a bean as what is being injected
*
- * @param bean the bean to inject
+ * @param bean the name of bean to inject
* @return the injection
*/
public ValueMetaData createInject(Object bean)
@@ -1637,10 +1907,10 @@
}
/**
- * Create an injection
+ * Create an injection being able to specify the the property of a bean as what is being injected
*
- * @param bean the bean to inject
- * @param property the property of the bean
+ * @param bean the name of the bean
+ * @param property the name of the property of the bean to inject. If null, the bean itself will be injected
* @return the injection
*/
public ValueMetaData createInject(Object bean, String property)
@@ -1649,12 +1919,12 @@
}
/**
- * Create an injection
+ * Create an injection being able to specify the property of a bean as what is being injected
*
- * @param bean the bean to inject
- * @param property the property of the bean
+ * @param bean the name of the bean
+ * @param property the name of the property of the bean to inject. If null, the bean itself will be injected
* @param whenRequired when the injection is required
- * @param dependentState the state of the injected bean
+ * @param dependentState the required state of the injected bean
* @return the injection
*/
public ValueMetaData createInject(Object bean, String property, ControllerState whenRequired, ControllerState dependentState)
@@ -1663,20 +1933,23 @@
}
/**
- * Create an injection
- *
- * @param bean the bean to inject
- * @param property the property of the bean
+ * Create an injection being able to specify the property of a bean as what is being injected
+ *
+ * @param bean the name of the bean
+ * @param property the name of the property of the bean to inject. If null, the bean itself will be injected
* @param whenRequired when the injection is required
- * @param dependentState the state of the injected bean
- * @param search the search info
+ * @param dependentState the required state of the injected bean
+ * @param search the search info describing how to search for the injected bean if we have a hierarchy of
+ * {@link org.jboss.dependency.spi.Controller}s
* @return the injection
*/
public abstract ValueMetaData createInject(Object bean, String property, ControllerState whenRequired, ControllerState dependentState, SearchInfo search);
/**
- * Create contextual injection.
+ * Create contextual injection. This does not need to specify the name of the bean,
+ * but looks at the target property/parameter type for autowiring
*
+ * @see BeanMetaData#isAutowireCandidate()
* @return the contextual injection
*/
public ValueMetaData createContextualInject()
@@ -1685,8 +1958,10 @@
}
/**
- * Create contextual injection.
+ * Create contextual injection. This does not need to specify the name of the bean,
+ * but looks at the target property/parameter type for autowiring
*
+ * @see BeanMetaData#isAutowireCandidate()
* @param whenRequired when the injection is required
* @param dependentState the state of the injected bean
* @return the contextual injection
@@ -1697,11 +1972,14 @@
}
/**
- * Create contextual injection.
+ * Create contextual injection. This does not need to specify the name of the bean,
+ * but looks at the target property/parameter type for autowiring
*
+ * @see BeanMetaData#isAutowireCandidate()
+ * @see BeanMetaData#getAutowireType()
* @param whenRequired when the injection is required
* @param dependentState the state of the injected bean
- * @param autowire the autowire type
+ * @param autowire the autowire type. If null, the type is {@link AutowireType#BY_CLASS}
* @param option the inject option
* @return the contextual injection
*/
@@ -1711,21 +1989,23 @@
}
/**
- * Create contextual injection.
+ * Create contextual injection. This does not need to specify the name of the bean,
+ * but looks at the target property/parameter type for autowiring
*
* @param whenRequired when the injection is required
* @param dependentState the state of the injected bean
* @param autowire the autowire type
* @param option the inject option
- * @param search the search info
+ * @param search the search info describing how to search for the injected bean if we have a hierarchy of
+ * {@link org.jboss.dependency.spi.Controller}s
* @return the contextual injection
*/
public abstract ValueMetaData createContextualInject(ControllerState whenRequired, ControllerState dependentState, AutowireType autowire, InjectOption option, SearchInfo search);
/**
- * Create from context injection.
+ * Inject values from the context of the bean we are creating
*
- * @param fromContext from context enum
+ * @param fromContext enum specifying what to inject from the {@link org.jboss.kernel.spi.dependency.KernelControllerContext}
* @return the from context injection
*/
public ValueMetaData createFromContextInject(FromContext fromContext)
@@ -1734,9 +2014,9 @@
}
/**
- * Create from context injection.
+ * Inject values from the context of another bean
*
- * @param fromContext from context enum
+ * @param fromContext enum specifying what to inject from the {@link org.jboss.kernel.spi.dependency.KernelControllerContext}
* @param contextName the context name
* @return the from context injection
*/
@@ -1746,11 +2026,11 @@
}
/**
- * Create from context injection.
+ * Inject values from the context of another bean
*
- * @param fromContext from context enum
+ * @param fromContext enum specifying what to inject from the {@link org.jboss.kernel.spi.dependency.KernelControllerContext}
* @param contextName the context name
- * @param dependentState the state of the injected context
+ * @param dependentState the state of the injected/other context
* @return the from context injection
*/
public ValueMetaData createFromContextInject(FromContext fromContext, Object contextName, ControllerState dependentState)
@@ -1759,12 +2039,13 @@
}
/**
- * Create from context injection.
+ * Inject values from the context of another bean
*
- * @param fromContext from context enum
+ * @param fromContext enum specifying what to inject from the {@link org.jboss.kernel.spi.dependency.KernelControllerContext}
* @param contextName the context name
- * @param dependentState the state of the injected context
- * @param search the search info
+ * @param dependentState the state of the injected/other context
+ * @param search the search info describing how to search for the injected bean if we have a hierarchy of
+ * {@link org.jboss.dependency.spi.Controller}s
* @return the from context injection
*/
public abstract ValueMetaData createFromContextInject(FromContext fromContext, Object contextName, ControllerState dependentState, SearchInfo search);
@@ -1780,7 +2061,7 @@
}
/**
- * Create a new collection
+ * Create a new collection, where we can specify the exact type of Collection we would like
*
* @param collectionType the collection type
* @param elementType the element type
@@ -1799,7 +2080,7 @@
}
/**
- * Create a new list
+ * Create a new list, where we can specify the exact type of List we would like
*
* @param listType the list type
* @param elementType the element type
@@ -1818,7 +2099,7 @@
}
/**
- * Create a new set
+ * Create a new set, where we can specify the exact type of Set we would like
*
* @param setType the set type
* @param elementType the element type
@@ -1837,7 +2118,7 @@
}
/**
- * Create a new array
+ * Create a new array, where we can specify the exact type of array we would like
*
* @param arrayType the array type
* @param elementType the element type
@@ -1856,7 +2137,7 @@
}
/**
- * Create a new map
+ * Create a new map, where we can specify the exact type of Map we would like
*
* @param mapType the map type
* @param keyType the key type
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/ParameterMetaDataBuilder.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/ParameterMetaDataBuilder.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/ParameterMetaDataBuilder.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -21,10 +21,12 @@
*/
package org.jboss.beans.metadata.spi.builder;
+import org.jboss.beans.metadata.spi.ParameterMetaData;
+import org.jboss.beans.metadata.spi.ParameterizedMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
- * ParameterMetaDataBuilder.
+ * ParameterMetaDataBuilder, used to add parameters to a parameterized part of the metadata
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
@@ -34,6 +36,7 @@
/**
* Add a parameter
*
+ * @see ParameterizedMetaData#getParameters()
* @param type the type
* @param value the value
* @return the parameter
@@ -43,6 +46,7 @@
/**
* Add a parameter
*
+ * @see ParameterizedMetaData#getParameters()
* @param type the type
* @param value the value
* @return the builder
@@ -52,6 +56,7 @@
/**
* Add a parameter
*
+ * @see ParameterizedMetaData#getParameters()
* @param type the type
* @param value the value
* @return the builder
Added: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/package.html (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/builder/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <!-- $Id: package.html 26060 2004-11-22 15:45:18Z ejort $ -->
+ <!--
+
+ JBoss: The OpenSource J2EE WebOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+
+ -->
+ </head>
+
+ <body bgcolor="white">
+ <p>Classes used to construct <a href="../BeanMetaData.html">BeanMetaData</a> programatically.
+
+ <h2>Package Specification</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <h2>Related Documentation</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <!-- Put @see and @since tags down here. -->
+
+ </body>
+</html>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/AbstractBeanFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/AbstractBeanFactory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/AbstractBeanFactory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -37,6 +37,8 @@
/**
* SPI contract of bean factory we can create from GenericBeanFactoryMetaData.
+ * This is the base class to be used for different implementations of the {@link BeanFactory}
+ * interface.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/BeanFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/BeanFactory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/BeanFactory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,10 @@
package org.jboss.beans.metadata.spi.factory;
/**
- * Bean factory interface.
+ * Bean factory interface. A bean factory is defined in much the same way as a bean,
+ * but instead of instantiating and configuring a single instance of the bean,
+ * we get a reference to the bean factory, which can then be used to create several
+ * instances of a bean.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -65,10 +65,14 @@
import org.jboss.dependency.spi.ControllerMode;
import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
import org.jboss.kernel.spi.config.KernelConfigurator;
+import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.util.JBossObject;
/**
- * GenericBeanFactoryMetaData.
+ * GenericBeanFactoryMetaData. Used to configure, or parse a <code><beanfactory></code>
+ * element into, this {@link BeanMetaDataFactory} that can be used to obtain
+ * the bean factories {@link BeanMetaData} so it can be deployed into the {@link KernelController}.
+ * The resulting bean will be an instance of a {@link BeanFactory}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
@@ -148,8 +152,9 @@
}
/**
- * Get the name
+ * Get the name of the bean factory
*
+ * @see BeanMetaData#getName(String)
* @return the name
*/
public String getName()
@@ -158,8 +163,9 @@
}
/**
- * Set the bean name
+ * Set the bean factory name
*
+ * @see BeanMetaData#setName(String)
* @param name the name
*/
@XmlAttribute
@@ -169,8 +175,12 @@
}
/**
- * Get the bean class
+ * Get the bean class. This is the type of object that will be
+ * created by the {@link BeanFactory} once this metadata has been
+ * converted into a {@link BeanFactory} following the call to
+ * {@link #getBeans()} and installing it into the {@link KernelController}
*
+ * @see BeanMetaData#getBean()
* @return the bean class
*/
public String getBean()
@@ -179,8 +189,12 @@
}
/**
- * Set the bean class
+ * Set the bean class. This is the type of object that will be
+ * created by the {@link BeanFactory} once this metadata has been
+ * converted into a {@link BeanFactory} following the call to
+ * {@link #getBeans()} and installing it into the {@link KernelController}
*
+ * @see BeanMetaData#getBean()
* @param bean the bean class
*/
@XmlAttribute(name="class")
@@ -201,9 +215,9 @@
/**
* Set the factory class.
-
* Note: this class param must either extend GenericBeanFactory
* or have the same constructor and properties aka 'callbacks'.
+ * If not set a default implementation will be used.
*
* @param factoryClass the factory class
*/
@@ -216,6 +230,7 @@
/**
* Get the aliases
*
+ * @see BeanMetaData#getAliases()
* @return the aliases
*/
public Set<AliasMetaData> getAliases()
@@ -226,6 +241,7 @@
/**
* Set the aliases
*
+ * @see BeanMetaData#getAliases()
* @param aliases the aliases
*/
@XmlElement(name="alias", type=AbstractAliasMetaData.class)
@@ -237,6 +253,7 @@
/**
* Get the access mode.
*
+ * @see BeanMetaData#getAccessMode()
* @return the access mode
*/
public BeanAccessMode getAccessMode()
@@ -247,6 +264,7 @@
/**
* Set the access mode.
*
+ * @see BeanMetaData#getAccessMode()
* @param accessMode the access mode
*/
@XmlAttribute(name = "access-mode")
@@ -258,6 +276,7 @@
/**
* Get the mode
*
+ * @see BeanMetaData#getMode()
* @return the mode
*/
public ControllerMode getMode()
@@ -268,6 +287,7 @@
/**
* Set the mode
*
+ * @see BeanMetaData#getMode()
* @param mode the mode
*/
@XmlAttribute
@@ -279,6 +299,7 @@
/**
* Get the annotations
*
+ * @see BeanMetaData#getAnnotations()
* @return the annotations
*/
public Set<AnnotationMetaData> getAnnotations()
@@ -289,6 +310,7 @@
/**
* Set the annotations
*
+ * @see BeanMetaData#getAnnotations()
* @param annotations the annotations
*/
@XmlElement(name="annotation", type=AbstractAnnotationMetaData.class)
@@ -300,6 +322,7 @@
/**
* Get the classloader
*
+ * @see BeanMetaData#getClassLoader()
* @return the classloader
*/
public ClassLoaderMetaData getClassLoader()
@@ -310,6 +333,7 @@
/**
* Set the classloader
*
+ * @see BeanMetaData#getClassLoader()
* @param classLoader the classloader
*/
@XmlElement(name="classloader", type=AbstractClassLoaderMetaData.class)
@@ -321,6 +345,7 @@
/**
* Get the constructor
*
+ * @see BeanMetaData#getConstructor()
* @return the constructor
*/
public ConstructorMetaData getConstructor()
@@ -331,6 +356,7 @@
/**
* Set the constructor
*
+ * @see BeanMetaData#getConstructor()
* @param constructor the constructor
*/
@XmlElement(name="constructor", type=AbstractConstructorMetaData.class)
@@ -342,6 +368,7 @@
/**
* Get the create
*
+ * @see BeanMetaData#getCreate()
* @return the create
*/
public LifecycleMetaData getCreate()
@@ -352,6 +379,7 @@
/**
* Set the create
*
+ * @see BeanMetaData#getCreate()
* @param create the create
*/
@XmlElement(name="create", type=AbstractLifecycleMetaData.class)
@@ -363,6 +391,7 @@
/**
* Get the properties
*
+ * @see BeanMetaData#getProperties()
* @return the properties
*/
public Set<PropertyMetaData> getProperties()
@@ -373,6 +402,7 @@
/**
* Set the properties
*
+ * @see BeanMetaData#getProperties()
* @param properties the properties
*/
@XmlElement(name="property", type=AbstractPropertyMetaData.class)
@@ -384,6 +414,7 @@
/**
* Get the start
*
+ * @see BeanMetaData#getStart()
* @return the start
*/
public LifecycleMetaData getStart()
@@ -394,6 +425,7 @@
/**
* Set the start
*
+ * @see BeanMetaData#getStart()
* @param start the start
*/
@XmlElement(name="start", type=AbstractLifecycleMetaData.class)
@@ -403,8 +435,9 @@
}
/**
- * Get the demans
+ * Get the demands
*
+ * @see BeanMetaData#getDemands()
* @return the demands
*/
@XmlElement(name="demand", type=AbstractDemandMetaData.class)
@@ -416,6 +449,7 @@
/**
* Set the demands
*
+ * @see BeanMetaData#getDemands()
* @param demands the demands
*/
public void setDemands(Set<DemandMetaData> demands)
@@ -426,6 +460,7 @@
/**
* Get the dependencies
*
+ * @see BeanMetaData#getDepends()
* @return the dependencies
*/
public Set<DependencyMetaData> getDepends()
@@ -436,6 +471,7 @@
/**
* Set the dependencies
*
+ * @see BeanMetaData#getDepends()
* @param depends the dependencies
*/
@XmlElement(name="depends", type=AbstractDependencyMetaData.class)
@@ -447,6 +483,7 @@
/**
* Get the install callbacks
*
+ * @see BeanMetaData#getInstallCallbacks()
* @return the install callbacks
*/
public List<CallbackMetaData> getInstallCallbacks()
@@ -457,6 +494,7 @@
/**
* Set the install callbacks
*
+ * @see BeanMetaData#getInstallCallbacks()
* @param installCallbacks the install callbacks
*/
@XmlElement(name="incallback", type=InstallCallbackMetaData.class)
@@ -468,6 +506,7 @@
/**
* Get the installs
*
+ * @see BeanMetaData#getInstalls()
* @return the installs
*/
public List<InstallMetaData> getInstalls()
@@ -478,6 +517,7 @@
/**
* Set the installs
*
+ * @see BeanMetaData#getInstalls()
* @param installs the installs
*/
@XmlElement(name="install", type=AbstractInstallMetaData.class)
@@ -489,6 +529,7 @@
/**
* Get the supples
*
+ * @see BeanMetaData#getSupplies()
* @return the supplies
*/
public Set<SupplyMetaData> getSupplies()
@@ -499,6 +540,7 @@
/**
* Set the supplies
*
+ * @see BeanMetaData#getSupplies()
* @param supplies the supplies
*/
@XmlElement(name="supply", type=AbstractSupplyMetaData.class)
@@ -510,6 +552,7 @@
/**
* Get the uninstall callbacks
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @return the uninstall callbacks
*/
public List<CallbackMetaData> getUninstallCallbacks()
@@ -520,6 +563,7 @@
/**
* Set the uninstall callbacks
*
+ * @see BeanMetaData#getUninstallCallbacks()
* @param uninstallCallbacks the uninstall callbacls
*/
@XmlElement(name="uncallback", type=UninstallCallbackMetaData.class)
@@ -531,6 +575,7 @@
/**
* Get the uninstalls
*
+ * @see BeanMetaData#getUninstalls()
* @return the uninstalls
*/
public List<InstallMetaData> getUninstalls()
@@ -541,6 +586,7 @@
/**
* Set the uninstalls
*
+ * @see BeanMetaData#getUninstalls()
* @param uninstalls the uninstalls
*/
@XmlElement(name="uninstall", type=AbstractInstallMetaData.class)
@@ -555,6 +601,12 @@
return Collections.singletonList(getBeanMetaData());
}
+ /**
+ * Get the bean metadata for the {@link BeanFactory} created by this bean factory metadata
+ *
+ * @see BeanMetaData#getUninstalls()
+ * @param uninstalls the uninstalls
+ */
@XmlTransient
public BeanMetaData getBeanMetaData()
{
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -44,6 +44,9 @@
/**
* PropertyMap.
+ * Used to copy the properties from the {@link GenericBeanFactoryMetaData}
+ * to the resulting {@link BeanFactory} implementation following the call to
+ * {@link GenericBeanFactoryMetaData#getBeans()}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -13,7 +13,9 @@
</head>
<body bgcolor="white">
- <p>Classes used to deploy beans.
+ <p>Classes used to describe beans for deployment. Whether you are deploying beans using a <code>-beans.xml</code> or
+ using annotations, they all end up as <code>BeanMetaData</code> which describes one bean. To construct a bean
+ programatically, the <a href="builder/BeanMetaDataBuilder.html">BeanMetaDataBuilder</a> can be used.
<h2>Package Specification</h2>
<ul>
@@ -25,16 +27,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/Kernel.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/Kernel.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/Kernel.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,12 +27,24 @@
import org.jboss.kernel.spi.event.KernelEventManager;
import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
import org.jboss.kernel.spi.registry.KernelBus;
+import org.jboss.kernel.spi.registry.KernelRegistry;
import org.jboss.kernel.spi.validation.KernelBeanValidator;
/**
* The kernel.<p>
*
- * The kernel is the entry point into the kernel services.
+ * The kernel is the entry point into the kernel services. The kernel
+ * is the {@link KernelController} + additional services such as the
+ * <ul>
+ * <li>{@link KernelBus}</li>
+ * <li>{@link KernelConfig}</li>
+ * <li>{@link KernelConfigurator}</li>
+ * <li>{@link KernelController}</li>
+ * <li>{@link KernelEventManager}</li>
+ * <li>{@link KernelMetaDataRepository}</li>
+ * <li>{@link KernelRegistry}</li>
+ * <li>{@link KernelBeanValidator}</li>
+ * </ul>
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="mailto:les.hazlewood at jboss.org">Les A. Hazlewood</a>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/api/dependency/MatcherFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/api/dependency/MatcherFactory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/api/dependency/MatcherFactory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -21,11 +21,19 @@
*/
package org.jboss.kernel.api.dependency;
+import org.jboss.kernel.plugins.dependency.IntervalMatcherTransformer;
import org.jboss.kernel.plugins.dependency.MatcherFactoryBuilder;
+import org.jboss.kernel.plugins.dependency.RegexpMatcherTransformer;
/**
- * Matcher factory.
- * Holding the obvious Matcher implementations.
+ * Matcher factory singleton holding the obvious Matcher implementations.
+ * The default implementation comes with the following built in matchers:
+ * <ul>
+ * <li><b>default</b> - A {@link Matcher} that requires an exact match between the names</li>
+ * <li><b>regexp</b> - A {@link Matcher} that matches on regular expressions</li>
+ * <li><b>interval</b> - A {@link Matcher} that matches on an interval</li>
+ * </ul>
+
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -53,11 +61,16 @@
public abstract void addMatcherTransfomer(String key, MatcherTransformer transformer);
/**
- * Create the Matcher.
+ * Create the Matcher. The <code>transformer</code> String can contain one of the predefined
+ * matcher implementations <code>default</code>, <code>regexp</code> or <code>interval</code>,
+ * the key of a {@link MatcherTransformer} added using the {@link #addMatcherTransfomer(String, MatcherTransformer)}
+ * method, or it can contain the name of a class implementing the {@link MatcherTransformer} interface that has a default
+ * constructor.
*
- * @param transformer the transformer
+ * @param transformer the transformer key
* @param value the value to wrap
* @return new Matcher instance
+ * @throws IllegalArgumentException if no matcher could be found
*/
public abstract Matcher createMatcher(String transformer, Object value);
}
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -13,7 +13,7 @@
</head>
<body bgcolor="white">
- <p>The core Kernel implementation.
+ <p>The core Kernel implementation.
<h2>Package Specification</h2>
<ul>
@@ -25,16 +25,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/KernelObject.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/KernelObject.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/KernelObject.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -25,7 +25,8 @@
import org.jboss.kernel.spi.event.KernelEventEmitter;
/**
- * A kernel object.<p>
+ * A kernel object.<p>
+ * All kernel service interfaces implement this interface
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/AnnotationToBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/AnnotationToBeanMetaDataFactory.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/AnnotationToBeanMetaDataFactory.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -37,7 +37,8 @@
import org.jboss.metadata.plugins.loader.reflection.AnnotatedElementMetaDataLoader;
/**
- * Annotation to bean metadata factory.
+ * Annotation to bean metadata factory. Used to translate MC annotations on bean classes to
+ * {@link BeanMetaData}
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -59,9 +60,9 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations.
*
- * @param beanClass the bean class
+ * @param beanClass the bean class to read for annotations
* @return bean metadata
* @throws Throwable for any error
*/
@@ -71,7 +72,9 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations allowing specification of the bean access mode.
+ * Use the default {@link BeanMetaDataAnnotationAdapter} which recognises the annotations in the
+ * <a href="../../../beans/metadata/api/annotations/package-summary.html">org.jboss.beans.metadata.api.annotations</a> package
*
* @param beanClass the bean class
* @param mode the bean access mode
@@ -84,7 +87,9 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations, and the annotations applied in the passed in metadata.
+ * Use the default {@link BeanMetaDataAnnotationAdapter} which recognises the annotations in the
+ * <a href="../../../beans/metadata/api/annotations/package-summary.html">org.jboss.beans.metadata.api.annotations</a> package
*
* @param beanClass the bean class
* @param metaData predefined metadata
@@ -97,7 +102,7 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations using the specified bean metadata annotation adapter.
*
* @param beanClass the bean class
* @param adapter bean metadata adapter
@@ -110,7 +115,7 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations using the specified bean access mode and metadata annotation adapter.
*
* @param beanClass the bean class
* @param mode the bean access mode
@@ -124,7 +129,9 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations and add to the existing bean metadata.
+ * Use the default {@link BeanMetaDataAnnotationAdapter} which recognises the annotations in the
+ * <a href="../../../beans/metadata/api/annotations/package-summary.html">org.jboss.beans.metadata.api.annotations</a> package
*
* @param beanClass the bean class
* @param existingMetaData the existing bean metadata
@@ -137,7 +144,9 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations, using the specified bean access mode, and add to the existing bean metadata.
+ * Use the default {@link BeanMetaDataAnnotationAdapter} which recognises the annotations in the
+ * <a href="../../../beans/metadata/api/annotations/package-summary.html">org.jboss.beans.metadata.api.annotations</a> package
*
* @param beanClass the bean class
* @param mode the bean access mode
@@ -151,7 +160,7 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations, using the specified bean metadata annotation adapter, and add to the existing bean metadata.
*
* @param beanClass the bean class
* @param existingMetaData the existing bean metadata
@@ -165,7 +174,8 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations, using the specified bean access mode and metadata annotation adapter,
+ * and add to the existing bean metadata.
*
* @param beanClass the bean class
* @param mode the bean access mode
@@ -180,8 +190,9 @@
}
/**
- * Create bean metadata for class.
- *
+ * Create bean metadata for a class from its annotations, and the ones specified in the passed in metadata, using the specified bean metadata annotation adapter,
+ * and add to the existing bean metadata.
+ *
* @param beanClass the bean class
* @param metaData predefined metadata
* @param existingMetaData the existing bean metadata
@@ -195,7 +206,8 @@
}
/**
- * Create bean metadata for class.
+ * Create bean metadata for a class from its annotations, and the ones specified in the passed in metadata, using the specified bean access mode and metadata annotation adapter,
+ * and add to the existing bean metadata.
*
* @param beanClass the bean class
* @param mode the bean access mode
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/BeanMetaDataAnnotationAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/BeanMetaDataAnnotationAdapter.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/BeanMetaDataAnnotationAdapter.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -26,7 +26,8 @@
import org.jboss.metadata.spi.MetaData;
/**
- * Annotations adapter contract based on metadata.
+ * Annotations adapter contract based on metadata. Implementing classes specify the annotations to
+ * look for and build up the resulting {@link BeanMetaData}.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -35,9 +36,9 @@
/**
* Apply the annotations on bean metadata.
*
- * @param beanInfo the bean info
- * @param metaData the metadata
- * @param beanMetaData the bean meta data
+ * @param beanInfo the bean info describing the class
+ * @param metaData the metadata that might
+ * @param beanMetaData the bean meta data we are working on.
* @throws Throwable for any error
*/
void applyAnnotations(BeanInfo beanInfo, MetaData metaData, BeanMetaData beanMetaData) throws Throwable;
Added: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/package.html (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/annotations/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <!-- $Id: package.html 26060 2004-11-22 15:45:18Z ejort $ -->
+ <!--
+
+ JBoss: The OpenSource J2EE WebOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+
+ -->
+ </head>
+
+ <body bgcolor="white">
+ <p>Classes used to define the plugins used when bootstrapping the kernel to create the services that make up the kernel.
+
+ <h2>Package Specification</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <h2>Related Documentation</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <!-- Put @see and @since tags down here. -->
+
+ </body>
+</html>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/KernelInitializer.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/KernelInitializer.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/KernelInitializer.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,11 +22,12 @@
package org.jboss.kernel.spi.bootstrap;
import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.dependency.KernelController;
/**
* Kernel Factory.<p>
*
- * Initialises a kernel.
+ * Initialises a {@link Kernel} with its {@link KernelController} and other services.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/bootstrap/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -13,7 +13,7 @@
</head>
<body bgcolor="white">
- <p>Classes used to define bootstrap plugins.
+ <p>Classes used to define the plugins used to parse MC annotations to create bean metadata.
<h2>Package Specification</h2>
<ul>
@@ -25,16 +25,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfig.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfig.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfig.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -47,7 +47,7 @@
public interface KernelConfig extends KernelObject
{
/**
- * Get the bean info
+ * Get the bean info for a class.
*
* @param className the class name
* @param cl the classloader
@@ -57,7 +57,7 @@
BeanInfo getBeanInfo(String className, ClassLoader cl) throws Throwable;
/**
- * Get the bean info
+ * Get the bean info for a class.
*
* @param clazz the class
* @return the bean info
@@ -66,7 +66,7 @@
BeanInfo getBeanInfo(Class<?> clazz) throws Throwable;
/**
- * Get the bean info
+ * Get the bean info from a type info.
*
* @param type the type info
* @return the bean info
@@ -75,7 +75,7 @@
BeanInfo getBeanInfo(TypeInfo type) throws Throwable;
/**
- * Get the bean info
+ * Get the bean info for a class using the given bean access mode.
*
* @param className the class name
* @param cl the classloader
@@ -86,7 +86,7 @@
BeanInfo getBeanInfo(String className, ClassLoader cl, BeanAccessMode mode) throws Throwable;
/**
- * Get the bean info
+ * Get the bean info for a class using the given bean access mode.
*
* @param clazz the class
* @param mode the access mode
@@ -96,7 +96,7 @@
BeanInfo getBeanInfo(Class<?> clazz, BeanAccessMode mode) throws Throwable;
/**
- * Get the bean info
+ * Get the bean info from a type info using the given bean access mode.
*
* @param type the type info
* @param mode the access mode
@@ -106,7 +106,7 @@
BeanInfo getBeanInfo(TypeInfo type, BeanAccessMode mode) throws Throwable;
/**
- * Get the type info for a class
+ * Get the type info for a class.
*
* @param className the class name
* @param cl the classloader
@@ -116,7 +116,7 @@
TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable;
/**
- * Get the type info for a class
+ * Get the type info for a class.
*
* @param clazz the class
* @return the type info
@@ -125,7 +125,7 @@
TypeInfo getTypeInfo(Class<?> clazz) throws Throwable;
/**
- * Get the class info for a class
+ * Get the class info for a class.
*
* @param className the class name
* @param cl the classloader
@@ -135,7 +135,7 @@
ClassInfo getClassInfo(String className, ClassLoader cl) throws Throwable;
/**
- * Get the class info for a class
+ * Get the class info for a class.
*
* @param clazz the class
* @return the class info
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfigurator.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfigurator.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/KernelConfigurator.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -31,6 +31,7 @@
import org.jboss.joinpoint.spi.Joinpoint;
import org.jboss.joinpoint.spi.MethodJoinpoint;
import org.jboss.kernel.spi.KernelObject;
+import org.jboss.metadata.spi.MetaData;
import org.jboss.reflect.spi.ClassInfo;
import org.jboss.reflect.spi.TypeInfo;
@@ -38,7 +39,8 @@
* A configurator.<p>
*
* The configurator is a utility class used by the controller
- * to create and configure beans.
+ * to create and configure beans. It will typically wrap a
+ * {@link KernelConfig}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -46,7 +48,7 @@
public interface KernelConfigurator extends KernelObject
{
/**
- * Get the BeanInfo
+ * Get the BeanInfo for a class.
*
* @param className the class name
* @param cl the classloader
@@ -56,7 +58,7 @@
BeanInfo getBeanInfo(String className, ClassLoader cl) throws Throwable;
/**
- * Get the BeanInfo
+ * Get the BeanInfo for a class.
*
* @param clazz the class
* @return the bean info
@@ -65,7 +67,7 @@
BeanInfo getBeanInfo(Class<?> clazz) throws Throwable;
/**
- * Get the BeanInfo
+ * Get the BeanInfo from a type info.
*
* @param type the type info
* @return the bean info
@@ -74,7 +76,7 @@
BeanInfo getBeanInfo(TypeInfo type) throws Throwable;
/**
- * Get the BeanInfo
+ * Get the BeanInfo for a class using the specified bean access mode.
*
* @param className the class name
* @param cl the classloader
@@ -85,7 +87,7 @@
BeanInfo getBeanInfo(String className, ClassLoader cl, BeanAccessMode mode) throws Throwable;
/**
- * Get the BeanInfo
+ * Get the BeanInfo for a class using the specified bean access mode.
*
* @param clazz the class
* @return the bean info
@@ -95,7 +97,7 @@
BeanInfo getBeanInfo(Class<?> clazz, BeanAccessMode mode) throws Throwable;
/**
- * Get the BeanInfo
+ * Get the BeanInfo from a typ info using the specified bean access mode.
*
* @param type the type info
* @param mode the access mode
@@ -105,7 +107,8 @@
BeanInfo getBeanInfo(TypeInfo type, BeanAccessMode mode) throws Throwable;
/**
- * Get the BeanInfo for some metadata
+ * Get the BeanInfo for some metadata. The BeanInfo will be for the bean metadata's
+ * specified class.
*
* @param metaData the metadata
* @return the bean info
@@ -114,7 +117,7 @@
BeanInfo getBeanInfo(BeanMetaData metaData) throws Throwable;
/**
- * Get the type info for a class
+ * Get the type info for a class.
*
* @param className the class name
* @param cl the classloader
@@ -124,7 +127,7 @@
TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable;
/**
- * Get the type info for a class
+ * Get the type info for a class.
*
* @param clazz the class
* @return the type info
@@ -133,7 +136,7 @@
TypeInfo getTypeInfo(Class<?> clazz) throws Throwable;
/**
- * Get the class info for a class
+ * Get the class info for a class.
*
* @param className the class name
* @param cl the classloader
@@ -143,7 +146,7 @@
ClassInfo getClassInfo(String className, ClassLoader cl) throws Throwable;
/**
- * Get the class info for a class
+ * Get the class info for a class.
*
* @param clazz the class
* @return the class info
@@ -152,7 +155,7 @@
ClassInfo getClassInfo(Class<?> clazz) throws Throwable;
/**
- * Get a constructor join point
+ * Get a constructor join point for a bean info. This will be the default constructor.
*
* @param info the bean info
* @return the join point
@@ -161,7 +164,8 @@
Joinpoint getConstructorJoinPoint(BeanInfo info) throws Throwable;
/**
- * Get a constructor join point
+ * Get a constructor join point for a bean metadata. This will be the constructor
+ * that is the closest match to the constructor specified in the bean metadata.
*
* @param metaData the bean metadata
* @return the join point
@@ -170,7 +174,9 @@
Joinpoint getConstructorJoinPoint(BeanMetaData metaData) throws Throwable;
/**
- * Get a constructor join point
+ * Get a constructor join point for a bean metadata. This will be the constructor
+ * that is the closest match to the constructor specified by the passed in constructor
+ * metadata.
*
* @param info the bean info
* @param metaData the constructor metadata
@@ -181,19 +187,21 @@
Joinpoint getConstructorJoinPoint(BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData) throws Throwable;
/**
- * Get a constructor join point
+ * Get a constructor join point a bean info. This will be the constructor
+ * that is the closest match to the constructor specified by the passed in constructor
+ * metadata.
*
* @param info the bean info
* @param metaData the constructor metadata
* @param beanMetaData the bean metadata
- * @param object an opaque object
+ * @param object an opaque object. If used with AOP this should be the {@link MetaData} for the bean.
* @return the join point
* @throws Throwable for any error
*/
Joinpoint getConstructorJoinPoint(BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData, Object object) throws Throwable;
/**
- * Get a method joinpoint
+ * Get a method joinpoint for a bean.
*
* @param info the bean info
* @param cl the classloader
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/config/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -13,7 +13,8 @@
</head>
<body bgcolor="white">
- <p>Classes used to define configuration plugins.
+ <p>Interfaces used to define configuration plugins, which are used on starting up the Kernel to
+ help create all the services that make up the Kernel.
<h2>Package Specification</h2>
<ul>
@@ -25,16 +26,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/ConfigureKernelControllerContextAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/ConfigureKernelControllerContextAware.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/ConfigureKernelControllerContextAware.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -21,10 +21,15 @@
*/
package org.jboss.kernel.spi.dependency;
+;
+
/**
- * A Configure KernelControllerContextAware.
+ * A Configure KernelControllerContextAware. If a user implements this interface
+ * in a bean the KernelControllerContext will be injected upon installing
+ * to the {@link org.jboss.dependency.spi.ControllerState#CONFIGURED} state,
+ * and set to null on uninstalling from the {@link org.jboss.dependency.spi.ControllerState#CONFIGURED} state.
+ *
* @see org.jboss.kernel.plugins.dependency.KernelControllerContextAction
- *
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
public interface ConfigureKernelControllerContextAware extends KernelControllerContextAware
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/CreateKernelControllerContextAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/CreateKernelControllerContextAware.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/CreateKernelControllerContextAware.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,11 @@
package org.jboss.kernel.spi.dependency;
/**
- * A Create KernelControllerContextAware.
+ * A Create KernelControllerContextAware. If a user implements this interface
+ * in a bean the KernelControllerContext will be injected upon installing
+ * to the {@link org.jboss.dependency.spi.ControllerState#CREATE} state,
+ * and set to null on uninstalling from the {@link org.jboss.dependency.spi.ControllerState#CREATE} state.
+ *
* @see org.jboss.kernel.plugins.dependency.KernelControllerContextAction
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilder.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilder.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilder.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,12 @@
import org.jboss.metadata.spi.MetaData;
/**
- * DependencyBuilder.
+ * DependencyBuilder helps to determine extra dependencies during the
+ * {@link org.jboss.dependency.spi.ControllerState#DESCRIBED} state.
+ * The default implementation does not determine extra information,
+ * but if used with <code>jboss-aop-mc-int.jar</code> on the classpath,
+ * extra dependencies coming from AOP will be returned as a list
+ * of {@link DependencyBuilderListItem}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 69888 $
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,9 @@
package org.jboss.kernel.spi.dependency;
/**
- * DependencyBuilderListItem.
+ * DependencyBuilderListItem. Used during the {@link org.jboss.dependency.spi.ControllerState#DESCRIBED}
+ * state to add extra dependencies on unstall and remove them upon uninstall. These extra dependencies
+ * might for example come from AOP.
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DescribeKernelControllerContextAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DescribeKernelControllerContextAware.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/DescribeKernelControllerContextAware.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,11 @@
package org.jboss.kernel.spi.dependency;
/**
- * A Describe KernelControllerContextAware.
+ * A Describe KernelControllerContextAware. If a user implements this interface
+ * in a bean the KernelControllerContext will be injected upon installing
+ * to the {@link org.jboss.dependency.spi.ControllerState#DESCRIBED} state,
+ * and set to null on uninstalling from the {@link org.jboss.dependency.spi.ControllerState#DESCRIBED} state.
+ *
* @see org.jboss.kernel.plugins.dependency.KernelControllerContextAction
* @deprecated at the describe state there is no target yet instantiated
*
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstallKernelControllerContextAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstallKernelControllerContextAware.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstallKernelControllerContextAware.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,11 @@
package org.jboss.kernel.spi.dependency;
/**
- * An Install KernelControllerContextAware.
+ * A Configure KernelControllerContextAware. If a user implements this interface
+ * in a bean the KernelControllerContext will be injected upon installing
+ * to the {@link org.jboss.dependency.spi.ControllerState#INSTALLED} state,
+ * and set to null on uninstalling from the {@link org.jboss.dependency.spi.ControllerState#INSTALLED} state.
+ *
* @see org.jboss.kernel.plugins.dependency.KernelControllerContextAction
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstantiateKernelControllerContextAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstantiateKernelControllerContextAware.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/InstantiateKernelControllerContextAware.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,11 @@
package org.jboss.kernel.spi.dependency;
/**
- * An Instantiate KernelControllerContextAware.
+ * An Instantiate KernelControllerContextAware. If a user implements this interface
+ * in a bean the KernelControllerContext will be injected upon installing
+ * to the {@link org.jboss.dependency.spi.ControllerState#INSTANTIATED} state,
+ * and set to null on uninstalling from the {@link org.jboss.dependency.spi.ControllerState#INSTANTIATED} state.
+ *
* @see org.jboss.kernel.plugins.dependency.KernelControllerContextAction
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelController.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelController.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelController.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -26,6 +26,7 @@
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.dependency.spi.Controller;
import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.KernelObject;
/**
@@ -34,7 +35,8 @@
* The controller is the core component for keeping track
* of beans to make sure the configuration and lifecycle are
* done in the correct order including dependencies and
- * classloading considerations.
+ * classloading considerations. The {@link Kernel} uses this class as its
+ * controller, rather than the normal {@link Controller}, and it contains a few
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -42,40 +44,45 @@
public interface KernelController extends KernelObject, Controller
{
/**
- * Install a context
+ * Install a context from a {@link BeanMetaData}.
*
- * @param metaData the metaData
- * @return the context
+ * @see Controller#install(org.jboss.dependency.spi.ControllerContext)
+ * @param metaData the bean metadata
+ * @return the context that is created from the bean meta data.
* @throws Throwable for any error
*/
KernelControllerContext install(BeanMetaData metaData) throws Throwable;
/**
- * Install a context
+ * Install a context from a {@link BeanMetaData} in the same way as
+ * {@link #install(BeanMetaData)}, but use the passed in target as the target
+ * for this context instead of instantiating one in the {@link ControllerState#INSTANTIATED}
+ * state.
*
+ * @see #install(BeanMetaData)
* @param metaData the metaData
* @param target the target object
- * @return the context
+ * @return the context that is cre
* @throws Throwable for any error
*/
KernelControllerContext install(BeanMetaData metaData, Object target) throws Throwable;
/**
- * Add supplies
+ * Add supplies from the context to the my list of suppliers.
*
- * @param context the context
+ * @param context the context we want to check for supplies
*/
void addSupplies(KernelControllerContext context);
/**
- * Remove supplies
+ * Remove supplies from the context from my list of suppliers.
*
- * @param context the context
+ * @param context the context we want to check for supplies
*/
void removeSupplies(KernelControllerContext context);
/**
- * Get all instantiated contexts of a type
+ * Get all instantiated contexts of a given type
*
* @param clazz the type
* @return the contexts
@@ -83,7 +90,7 @@
Set<KernelControllerContext> getInstantiatedContexts(Class<?> clazz);
/**
- * Get all contexts of a type which are at least in state.
+ * Get all contexts of a type which are in the given state or above
*
* @param clazz the type
* @param state the required state
@@ -92,6 +99,7 @@
Set<KernelControllerContext> getContexts(Class<?> clazz, ControllerState state);
/**
+ * Get an instantiated context that is of the type passed in.
* If zero or multiple instances match class clazz
* a warning is issued, but no throwable is thrown
*
@@ -101,16 +109,16 @@
KernelControllerContext getContextByClass(Class<?> clazz);
/**
- * Add instantiated context into contextsByClass map
- * look at all target's superclasses and interfaces
+ * Add instantiated context into the map used by {@link #getContextByClass(Class)}.
+ * Look at all the context's target's superclasses and interfaces.
*
* @param context the context
*/
void addInstantiatedContext(KernelControllerContext context);
/**
- * Remove instantiated context from contextsByClass map
- * look at all target's superclasses and interfaces
+ * Remove instantiated context from the map used by {@link #getContextByClass(Class)}.
+ * Look at all target's superclasses and interfaces.
*
* @param context the context
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContext.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContext.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -23,12 +23,18 @@
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
import org.jboss.dependency.spi.dispatch.LifecycleDispatchContext;
import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.registry.KernelRegistryEntry;
/**
- * Information about dependencies and state.
+ * Information about dependencies and state. Extension of {@link ControllerContext}
+ * that allows access to extra information when running in the {@link Kernel}. When
+ * deploying a {@link BeanMetaData} into the {@link Kernel}, a
+ * <code>KernelControllerContext</code> is created by the Microcontainer, rather tha
+ * vanilla {@link ControllerContext}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -36,35 +42,37 @@
public interface KernelControllerContext extends KernelRegistryEntry, LifecycleDispatchContext
{
/**
- * Get the kernel
+ * Get the kernel this kernel controller context was deployed into.
*
* @return the kernel
*/
Kernel getKernel();
/**
- * Get the BeanInfo
+ * Get the BeanInfo for the bean represented by this kernel controller context
*
* @return the bean info
*/
BeanInfo getBeanInfo();
/**
- * Set the bean info
+ * Set the bean info for the bean represented by this kernel controller context.
+ * This method should only be called by the {@link KernelController}.
*
* @param info the bean info
*/
void setBeanInfo(BeanInfo info);
/**
- * Get the metadata
+ * Get the metadata representing the bean to be installed by this kernel controller context.
*
* @return the bean metadata
*/
BeanMetaData getBeanMetaData();
/**
- * Set the target
+ * Set the target. This will be the bean instance once the kernel controller context reaches the
+ * {@link ControllerState#INSTANTIATED} state.
*
* @param target the target
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContextAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContextAware.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/KernelControllerContextAware.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,9 @@
package org.jboss.kernel.spi.dependency;
/**
- * A KernelControllerContextAware.
+ * A KernelControllerContextAware interface, which can be implemented by users' beans to
+ * have the {@link KernelControllerContext} injected. When in the lifecycle this happens
+ * depends on the particular sub-interface that has been implemented.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/StartKernelControllerContextAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/StartKernelControllerContextAware.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/StartKernelControllerContextAware.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,11 @@
package org.jboss.kernel.spi.dependency;
/**
- * A Start KernelControllerContextAware.
+ * A Start KernelControllerContextAware. If a user implements this interface
+ * in a bean the KernelControllerContext will be injected upon installing
+ * to the {@link org.jboss.dependency.spi.ControllerState#START} state,
+ * and set to null on uninstalling from the {@link org.jboss.dependency.spi.ControllerState#START} state.
+ *
* @see org.jboss.kernel.plugins.dependency.KernelControllerContextAction
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -29,7 +29,9 @@
import org.jboss.metadata.spi.MetaData;
/**
- * AbstractDependencyBuilder.
+ * AbstractDependencyBuilder used as the base class for the pluggable dependency builders such as the
+ * AOP dependency builders. This is the default implementation used in the {@link org.jboss.dependency.spi.ControllerState#DESCRIBED}
+ * state to determine extra dependencies if the AOP dependency builder is absent.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -25,12 +25,15 @@
import org.jboss.beans.info.spi.helpers.UnmodifiableBeanInfo;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.dependency.spi.helpers.UnmodifiableControllerContext;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
/**
- * Unmodifiable instance.
+ * A wrapper around a {@link KernelControllerContext} that throws UnsupportedOperationException when any
+ * methods that might mutate the underlying context's state is called.
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -57,6 +60,13 @@
return beanInfo != null ? new UnmodifiableBeanInfo(beanInfo) : null;
}
+ /**
+ * Overrides {@link KernelControllerContext#setBeanInfo(BeanInfo)} to throw an {@link UnsupportedOperationException}
+ * when called.
+ *
+ * @param info the bean info to set
+ * @throws UnsupportedOperationException when called
+ */
public void setBeanInfo(BeanInfo info)
{
throw new UnsupportedOperationException("Cannot execute set on unmodifiable wrapper.");
@@ -67,16 +77,39 @@
return getDelegate().getBeanMetaData();
}
+ /**
+ * Overrides {@link KernelControllerContext#setTarget(Object)} to throw an {@link UnsupportedOperationException}
+ * when called.
+ *
+ * @param target the target to set
+ * @throws UnsupportedOperationException when called
+ */
public void setTarget(Object target)
{
throw new UnsupportedOperationException("Cannot execute set on unmodifiable wrapper.");
}
+ /**
+ * Overrides {@link KernelControllerContext#setName(Object)} to throw an {@link UnsupportedOperationException}
+ * when called.
+ *
+ * @param info the name to set
+ * @throws UnsupportedOperationException when called
+ */
public void setName(Object name)
{
throw new UnsupportedOperationException("Cannot execute set on unmodifiable wrapper.");
}
+ /**
+ * Overrides {@link KernelControllerContext#invoke(String, Object[], String[])} to throw an {@link UnsupportedOperationException}
+ * when called.
+ *
+ * @param name the name of the method to call
+ * @param parameters an array of the parameter values to pass in
+ * @param signature the type of each parameter
+ * @throws UnsupportedOperationException when called
+ */
public Object invoke(String name, Object parameters[], String[] signature) throws Throwable
{
throw new UnsupportedOperationException("Cannot execute invoke on unmodifiable wrapper.");
@@ -92,6 +125,14 @@
return getDelegate().get(name);
}
+ /**
+ * Overrides {@link KernelControllerContext#set(String, Object)} to throw an {@link UnsupportedOperationException}
+ * when called.
+ *
+ * @param name the name of the property/attribute to set
+ * @param value the value of the property to set
+ * @throws UnsupportedOperationException when called
+ */
public void set(String name, Object value) throws Throwable
{
throw new UnsupportedOperationException("Cannot execute set on unmodifiable wrapper.");
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/KernelDeployment.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/KernelDeployment.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/KernelDeployment.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -31,11 +31,17 @@
import org.jboss.beans.metadata.spi.LifecycleMetaData;
import org.jboss.beans.metadata.spi.NamedAliasMetaData;
import org.jboss.dependency.spi.ControllerMode;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.util.JBossInterface;
/**
- * A kernel deployment.
+ * A kernel deployment. It contains one or more {@link BeanMetaData}s
+ * that each contain the configuration for a bean. Each {@link BeanMetaData}
+ * becomes a {@link KernelControllerContext} that is used by the {@link KernelController}
+ * to move the beans through the controller lifecycle. If a <code>-beans.xml</code>
+ * was used to specify the deployment, this represents one <code>-beans.xml</code>.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -127,42 +133,44 @@
Set<NamedAliasMetaData> getAliases();
/**
- * Get the ControllerMode.
+ * Get the ControllerMode for this deployement.
*
* @return mode
*/
ControllerMode getMode();
/**
- * Get the beans in the deployment
+ * Get the bean metadatas in the deployment.
*
* @return List<BeanMetaData>
*/
List<BeanMetaData> getBeans();
/**
- * Get the bean factories in the deployment
+ * Get the bean factories in the deployment. A {@link BeanMetaDataFactory}
+ * becomes one or more {@link BeanMetaData}s.
*
* @return List<BeanMetaDataFactory>
*/
List<BeanMetaDataFactory> getBeanFactories();
/**
- * Get the installed contexts
+ * Get the installed contexts in this deployment. These are the {@link KernelControllerContext}s
+ * resulting from {@link #getBeans()} and {@link #getBeanFactories()}.
*
* @return the installed contexts
*/
List<KernelControllerContext> getInstalledContexts();
/**
- * Add an installed context
+ * Add an installed context to the deployment once we have parsed its {@link BeanMetaData}.
*
* @param context the context to add
*/
void addInstalledContext(KernelControllerContext context);
/**
- * Remove an installed context
+ * Remove an installed context from the deployment on undeployment.
*
* @param context the context to add
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/deployment/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -25,16 +25,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEvent.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEvent.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEvent.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,7 @@
package org.jboss.kernel.spi.event;
/**
- * A listener
+ * An event in the kernel.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventEmitter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventEmitter.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventEmitter.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,7 @@
package org.jboss.kernel.spi.event;
/**
- * An event emitter
+ * An event emitter raises {@link KernelEvent}s.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -30,7 +30,7 @@
public interface KernelEventEmitter
{
/**
- * Register a listener
+ * Register a listener who is interested in cer
*
* @param listener the listener
* @param filter the filter
@@ -50,7 +50,7 @@
void unregisterListener(KernelEventListener listener, KernelEventFilter filter, Object handback) throws Throwable;
/**
- * Fire an event
+ * Fire a kernel event and notify all the listeners who are listening for this event.
*
* @param event the event
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventFilter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventFilter.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventFilter.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,8 @@
package org.jboss.kernel.spi.event;
/**
- * A filter
+ * A filter to narrow down which {@link KernelEvent}s a {@link KernelEventListener}
+ * is interested in. They are managed by the {@link KernelEventManager}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -30,7 +31,7 @@
public interface KernelEventFilter
{
/**
- * Invoked when an event occurs
+ * Invoked when an event occurs to see if a particular {@link KernelEventListener} is interested in it.
*
* @param event the event
* @param handback the handback
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventListener.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventListener.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventListener.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,7 @@
package org.jboss.kernel.spi.event;
/**
- * A listener
+ * A listener for {@link KernelEvent}s
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventManager.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventManager.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/KernelEventManager.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -21,12 +21,13 @@
*/
package org.jboss.kernel.spi.event;
+import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.KernelObject;
/**
* An event manager.<p>
*
- * The event manager co-ordinates events.
+ * The event manager co-ordinates events in the {@link Kernel}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/event/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -13,7 +13,11 @@
</head>
<body bgcolor="white">
- <p>Classes used to define event plugins.
+ <p>Classes used to define event handling in the microcontainer. The mechanism is similar to that of JMX notifications,
+ where by one can create a <code>KernelEventListener</code> and register and unregister it with the
+ <code>KernelEventManager</code>. Events that the <code>KernelEventListener</code> are interested in can be furter narrowed
+ down by implementing a <code>KernelEventFilter</code>. The events are in the form of <code>KernelEvent</code> implementations,
+ and emitted by a <code>KernelEventEmitter</code>.
<h2>Package Specification</h2>
<ul>
@@ -25,16 +29,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/lazy/LazyInitializer.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/lazy/LazyInitializer.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/lazy/LazyInitializer.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -27,7 +27,7 @@
import org.jboss.metadata.spi.MetaData;
/**
- * Lazy initializer.
+ * Lazy initializer used by LazyProxyFactory
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/KernelMetaDataRepository.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/KernelMetaDataRepository.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/KernelMetaDataRepository.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,6 +24,7 @@
import java.util.List;
import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.KernelObject;
import org.jboss.metadata.spi.MetaData;
import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
@@ -31,7 +32,7 @@
import org.jboss.metadata.spi.scope.ScopeKey;
/**
- * KernelMetaDataRepository.
+ * The entry point to the {@link MutableMetaDataRepository} used for a {@link Kernel}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -39,14 +40,15 @@
public interface KernelMetaDataRepository extends KernelObject
{
/**
- * Get the meta data repository
+ * Get the meta data repository for the {@link Kernel}
*
* @return the meta data repository
*/
MutableMetaDataRepository getMetaDataRepository();
/**
- * Get MetaData
+ * Get MetaData for a {@link ControllerContext} from the {@link Kernel}'s
+ * {@link MutableMetaDataRepository}.
*
* @param context the context
* @return the metadata
@@ -54,21 +56,22 @@
MetaData getMetaData(ControllerContext context);
/**
- * Add metadata to the bean.
+ * Add metadata to a bean's {@link ControllerContext} from the {@link Kernel}'s
+ * {@link MutableMetaDataRepository}
*
* @param context the context
*/
void addMetaData(ControllerContext context);
/**
- * Remove any previously added metadata
+ * Remove any previously added metadata from a {@link ControllerContext}.
*
* @param context the context
*/
void removeMetaData(ControllerContext context);
/**
- * Get the default scope for a context
+ * Get the default (non-mutable) scope key for a context
*
* @param context the context
* @return the default scope
@@ -76,7 +79,7 @@
ScopeKey getFullScope(ControllerContext context);
/**
- * Get the mutable scope for a context
+ * Get the mutable scope key for a context
*
* @param context the context
* @return the default scope
@@ -84,7 +87,8 @@
ScopeKey getMutableScope(ControllerContext context);
/**
- * Create a metadata retrieval
+ * Create a metadata retrieval for a {@link ControllerContext}.
+ * The returned metadata retrieval will be a composite containing the passed in retrievals.
*
* @param context the controller context
* @param retrievals the retrievals
Added: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/package.html (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/metadata/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <!-- $Id: package.html 26060 2004-11-22 15:45:18Z ejort $ -->
+ <!--
+
+ JBoss: The OpenSource J2EE WebOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+
+ -->
+ </head>
+
+ <body bgcolor="white">
+ <p>Contains the KernelMetaDataRepository that is used for associating metadata with the Kernel.
+
+ <h2>Package Specification</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <h2>Related Documentation</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <!-- Put @see and @since tags down here. -->
+
+ </body>
+</html>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -13,7 +13,7 @@
</head>
<body bgcolor="white">
- <p>Classes used to define kernel plugins.
+ <p>The KernelObject is the root interface for the Kernel service interfaces.
<h2>Package Specification</h2>
<ul>
@@ -25,16 +25,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelBus.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelBus.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelBus.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -24,10 +24,9 @@
import org.jboss.kernel.spi.KernelObject;
/**
- * A bus.<p>
- *
* The bus allows detatched invocations on named components in
- * the registry.
+ * the registry. This is similar to how one would invoke on an
+ * MBean via an MBean server.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistry.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistry.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistry.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -47,10 +47,10 @@
public static final String KERNEL_REGISTRY_UNREGISTERED = "KERNEL_REGISTRY_UNREGISTERED";
/**
- * Find a registration
+ * Find a registeration
*
* @param name the name of the object
- * @return the registration
+ * @return the registration or null if not found
* @throws IllegalArgumentException for a null name
*/
KernelRegistryEntry findEntry(Object name);
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntry.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntry.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntry.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -25,7 +25,7 @@
import org.jboss.util.JBossInterface;
/**
- * A registry entry
+ * A registry entry to be registered in the {@link KernelRegistry}
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
@@ -33,7 +33,7 @@
public interface KernelRegistryEntry extends JBossInterface, ControllerContext
{
/**
- * Set the name
+ * Set the name of the entry
*
* @param name the name
*/
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryAlreadyRegisteredException.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryAlreadyRegisteredException.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryAlreadyRegisteredException.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,7 @@
package org.jboss.kernel.spi.registry;
/**
- * Thrown when an invocation context does not exist
+ * Thrown when a {@link KernelRegistryEntry} already exists in the {@link KernelRegistry}
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryNotFoundException.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryNotFoundException.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryEntryNotFoundException.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -22,7 +22,7 @@
package org.jboss.kernel.spi.registry;
/**
- * Thrown when an invocation context does not exist
+ * Thrown when an {@link KernelRegistryEntry} does not exist in the {@link KernelRegistry}
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryPlugin.java 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/KernelRegistryPlugin.java 2009-06-04 14:20:48 UTC (rev 89824)
@@ -21,8 +21,12 @@
*/
package org.jboss.kernel.spi.registry;
+import org.jboss.kernel.spi.dependency.KernelController;
+
/**
- * A registry plugin.
+ * A registry plugin used to get {@link KernelRegistryEntry} objects
+ * from the {@link KernelRegistry}. The default implementation of {@link KernelController}
+ * implements this interface.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/package.html 2009-06-04 14:19:41 UTC (rev 89823)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/registry/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -13,7 +13,7 @@
</head>
<body bgcolor="white">
- <p>Classes used to define registry plugins.
+ <p>Contains the KernelBus and interface used to define registry plugins. Note that the KernelRegistry is deprecated.
<h2>Package Specification</h2>
<ul>
@@ -25,16 +25,6 @@
<li><a href="javascript: alert('not available')">Not Available</a>
</ul>
- <h2>Package Status</h2>
- <ul>
- <li><font color="red"><b>ALPHA</b></font>
- </ul>
-
- <h2>Todo</h2>
- <ul>
- <li>???
- </ul>
-
<!-- Put @see and @since tags down here. -->
</body>
Added: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/validation/package.html
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/validation/package.html (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/spi/validation/package.html 2009-06-04 14:20:48 UTC (rev 89824)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <!-- $Id: package.html 26060 2004-11-22 15:45:18Z ejort $ -->
+ <!--
+
+ JBoss: The OpenSource J2EE WebOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+
+ -->
+ </head>
+
+ <body bgcolor="white">
+ <p>Defines the interfaces for the bridge between JR 303 and our POJO handling.
+
+ <h2>Package Specification</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <h2>Related Documentation</h2>
+ <ul>
+ <li><a href="javascript: alert('not available')">Not Available</a>
+ </ul>
+
+ <!-- Put @see and @since tags down here. -->
+
+ </body>
+</html>
More information about the jboss-cvs-commits
mailing list