[webbeans-commits] Webbeans SVN: r3734 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans: bean/builder and 4 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Sep 22 11:17:52 EDT 2009


Author: kabir.khan at jboss.com
Date: 2009-09-22 11:17:52 -0400 (Tue, 22 Sep 2009)
New Revision: 3734

Modified:
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/PersistenceContextProducerField.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java
Log:
Javadoc

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -39,7 +39,7 @@
 import org.jboss.webbeans.util.Reflections;
 
 /**
- * An abstract bean representation common for all beans
+ * An abstract bean representation common for all beans. 
  * 
  * @author Pete Muir
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
@@ -96,6 +96,15 @@
     * Constructor
     * 
     * @param manager The Web Beans manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param serializable Is the bean serializable
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
     */
    public AbstractBean(BeanManagerImpl manager,
          String name,

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -81,6 +81,19 @@
     * 
     * @param type The type
     * @param manager The Web Beans manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param serializable Is the bean serializable
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
     */
    protected AbstractClassBean(WBClass<T> type, 
          BeanManagerImpl manager,

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -55,12 +55,20 @@
 public abstract class AbstractProducerBean<T, S extends Member> extends AbstractReceiverBean<T, S> implements Producer<T>
 {
    /**
-    * Constructor
+    * Protected Constructor
     * 
-    * @param declaringBean The declaring bean
+    * @param declaringBean The bean containing this producer/disposal method/field
     * @param manager The Web Beans manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
     */
-   public AbstractProducerBean(AbstractClassBean<?> declaringBean, 
+   protected AbstractProducerBean(AbstractClassBean<?> declaringBean, 
          BeanManagerImpl manager,
          String name,
          Class<T> type,

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -41,9 +41,22 @@
    
    private final AbstractClassBean<?> declaringBean;
    
-
-
-   public AbstractReceiverBean(AbstractClassBean<?> declaringBean, 
+   /**
+    * Protected Constructor
+    * 
+    * @param declaringBean The bean containing this producer/disposal method/field
+    * @param manager The Web Beans manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param serializable Is the bean serializable
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    */
+   protected AbstractReceiverBean(AbstractClassBean<?> declaringBean, 
          BeanManagerImpl manager,
          String name,
          Class<T> type,

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -53,11 +53,23 @@
    private final Set<Type> decoratedTypes;
 
    /**
-    * Creates a decorator bean
+    * Creates a decorator bean. This method should not be called,
+    * instead use DecoratorBuilder.
     * 
     * @param <T> The type
     * @param clazz The class
     * @param manager the current manager
+    * @param name The name
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param specializedBean The bean being specialized by this if any
     * @return a Bean
     */
    public static <T> DecoratorImpl<T> of(WBClass<T> clazz, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -41,7 +41,25 @@
    private MethodInjectionPoint<T, ?> disposalMethodInjectionPoint;
    private final String id;
 
-   protected DisposalMethod(BeanManagerImpl manager, 
+   /**
+    * Creates a disposal method Web Bean. This method should not be called,
+    * instead use DisposalMethodBuilder.
+    * 
+    * 
+    * @param manager the current manager
+    * @param name The name
+    * @param disposalMethod The underlying method abstraction
+    * @param declaringBean The declaring bean abstraction
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * 
+    * @return A disposal method Web Bean
+    */
+   public static <T> DisposalMethod<T> of(BeanManagerImpl manager, 
          String name,
          WBMethod<T, ?> disposalMethod, 
          AbstractClassBean<?> declaringBean,
@@ -52,19 +70,11 @@
          boolean proxyable,
          Set<Annotation> bindings)
    {
-      super(declaringBean, manager, name, type, types, mergedStereotypes, null, policy, Reflections.isSerializable(type), proxyable, bindings);
-      this.disposalMethodInjectionPoint = MethodInjectionPoint.of(this, disposalMethod);
-      this.id = createId("DisposalMethod-" + declaringBean.getName() + "-" + disposalMethod.getSignature().toString());
-      addInjectionPoint(disposalMethodInjectionPoint);
+      return new DisposalMethod<T>(manager, name, disposalMethod, declaringBean, type, types, mergedStereotypes, policy, proxyable, bindings);
    }
-   
-   @Override
-   public WBMethod<T, ?> getAnnotatedItem()
-   {
-      return disposalMethodInjectionPoint;
-   }
 
-   public static <T> DisposalMethod<T> of(BeanManagerImpl manager, 
+
+   protected DisposalMethod(BeanManagerImpl manager, 
          String name,
          WBMethod<T, ?> disposalMethod, 
          AbstractClassBean<?> declaringBean,
@@ -75,10 +85,18 @@
          boolean proxyable,
          Set<Annotation> bindings)
    {
-      return new DisposalMethod<T>(manager, name, disposalMethod, declaringBean, type, types, mergedStereotypes, policy, proxyable, bindings);
+      super(declaringBean, manager, name, type, types, mergedStereotypes, null, policy, Reflections.isSerializable(type), proxyable, bindings);
+      this.disposalMethodInjectionPoint = MethodInjectionPoint.of(this, disposalMethod);
+      this.id = createId("DisposalMethod-" + declaringBean.getName() + "-" + disposalMethod.getSignature().toString());
+      addInjectionPoint(disposalMethodInjectionPoint);
    }
+   
+   @Override
+   public WBMethod<T, ?> getAnnotatedItem()
+   {
+      return disposalMethodInjectionPoint;
+   }
 
-
    @Override
    public String toString()
    {

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -66,11 +66,23 @@
    
 
    /**
-    * Creates a simple, annotation defined Web Bean
+    * Creates a simple, annotation defined Web Bean. This method should not be called,
+    * instead use ManagedBeanBuilder.
     * 
-    * @param <T> The type
     * @param clazz The class
     * @param manager the current manager
+    * @param name The name
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param specializedBean The bean being specialized by this if any
     * @return A Web Bean
     */
    public static <T> ManagedBean<T> of(WBClass<T> clazz, 
@@ -96,7 +108,19 @@
     * Constructor
     * 
     * @param type The type of the bean
-    * @param manager The Web Beans manager
+    * @param manager the current manager
+    * @param name The name
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param specializedBean The bean being specialized by this if any
     */
    protected ManagedBean(WBClass<T> type, 
          BeanManagerImpl manager, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -37,11 +37,25 @@
 {
 
    /**
-    * Creates an instance of a NewSimpleBean from an annotated class
+    * Creates an instance of a NewManagedBean from an annotated class. This method should not be called,
+    * instead use NewManagedBeanBuilder.
     * 
-    * @param clazz The annotated class
-    * @param manager The Web Beans manager
-    * @return a new NewSimpleBean instance
+    * @param clazz The type of the bean
+    * @param manager the current manager
+    * @param name The name
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param specializedBean The bean being specialized by this if any
+    * 
+    * @return a new NewManagedBean instance
     */
    public static <T> NewManagedBean<T> of(WBClass<T> clazz, 
          BeanManagerImpl manager, 
@@ -67,6 +81,18 @@
     * 
     * @param type An annotated class
     * @param manager The Web Beans manager
+    * @param name The name
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param specializedBean The bean being specialized by this if any
     */
    protected NewManagedBean(final WBClass<T> type, 
          BeanManagerImpl manager, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -40,10 +40,26 @@
 {
 
    /**
-    * Creates an instance of a NewEnterpriseBean from an annotated class
+    * Creates an instance of a NewSessionBean from an annotated class. This method should not be called,
+    * instead use NewSessionBeanBuilder.
     * 
-    * @param clazz The annotated class
-    * @param manager The Web Beans manager
+    * @param ejbDescriptor The EJB descriptor
+    * @param manager the current manager
+    * @param name The name
+    * @param types The bean types
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param proxyClass The proxy class
+    * @param specializedBean The bean being specialized by this if any
+    * 
     * @return a new NewEnterpriseBean instance
     */
    public static <T> NewSessionBean<T> of(InternalEjbDescriptor<T> ejbDescriptor, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -43,12 +43,21 @@
    private final String id;
    
    /**
-    * Creates a producer field
+    * Creates a producer field. This method should not be called,
+    * instead use ProducerFieldBuilder.
     * 
-    * @param field The underlying method abstraction
+    * @param field The underlying field abstraction
     * @param declaringBean The declaring bean abstraction
     * @param manager the current manager
-    * @return A producer field
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @return a producer field
     */
    public static <T> ProducerField<T> of(WBField<T, ?> field, 
          AbstractClassBean<?> declaringBean, 
@@ -68,9 +77,17 @@
    /**
     * Constructor
     * 
-    * @param method The producer field abstraction
-    * @param declaringBean The declaring bean
-    * @param manager The Web Beans manager
+    * @param field The underlying method abstraction
+    * @param declaringBean The declaring bean abstraction
+    * @param manager the current manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
     */
    protected ProducerField(WBField<T, ?> field, 
          AbstractClassBean<?> declaringBean, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -52,11 +52,23 @@
    private final String id;
 
    /**
-    * Creates a producer method Web Bean
+    * Creates a producer method Web Bean. This method should not be called,
+    * instead use ProducerMethodBuilder.
     * 
     * @param method The underlying method abstraction
     * @param declaringBean The declaring bean abstraction
     * @param manager the current manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param disposalMethodBean The bean containing the producer method
+    * @param specializedBean The bean being specialized by this if any
+    * 
     * @return A producer Web Bean
     */
    public static <T> ProducerMethod<T> of(WBMethod<T, ?> method, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -65,11 +65,27 @@
    private final SessionBean<?> specializedBean;
 
    /**
-    * Creates a simple, annotation defined Enterprise Web Bean
+    * Creates a simple, annotation defined Enterprise Web Bean. This method should not be called,
+    * instead use SessionBeanBuilder.
     * 
     * @param <T> The type
-    * @param clazz The class
+    * @param ejbDescriptor The EJB descriptor
     * @param manager the current manager
+    * @param name The name
+    * @param types The bean types
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param proxyClass The proxy class
+    * @param specializedBean The bean being specialized by this if any
+    * 
     * @return An Enterprise Web Bean
     */
    public static <T> SessionBean<T> of(InternalEjbDescriptor<T> ejbDescriptor, 
@@ -98,7 +114,22 @@
     * Constructor
     * 
     * @param type The type of the bean
-    * @param manager The Web Beans manager
+    * @param ejbDescriptor The EJB descriptor
+    * @param manager the current manager
+    * @param name The name
+    * @param types The bean types
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param decorators The decorators for this bean
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * @param dependencies The beans dependencies
+    * @param proxyClassForDecorators The proxy class for decorators
+    * @param postConstruct The postConstruct method
+    * @param preDestroy The preDestroy method
+    * @param proxyClass The proxy class
+    * @param specializedBean The bean being specialized by this if any
     */
    protected SessionBean(WBClass<T> type, 
          InternalEjbDescriptor<T> ejbDescriptor, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -41,7 +41,7 @@
 import org.jboss.webbeans.util.Reflections;
 
 /**
- * Builder for An abstract bean representation common for all beans
+ * Builder for an abstract bean representation common for all beans
  * 
  * @author Pete Muir
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -29,6 +29,7 @@
 import org.jboss.webbeans.log.Logging;
 
 /**
+ * Buider for producer/disposal method/field beans
  * @author pmuir
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  *

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -92,9 +92,9 @@
       return getBeanBuilderImpl(beanManager, annotatedType, null, true);
    }
 
-   public <T> InternalObserverMethodBuilder<T> getInternalObserverMethodBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType)
+   public <T> InternalObserverMethodBuilder<T> getInternalObserverMethodBuilder(BeanManager beanManager)
    {
-      return getBeanBuilderImpl(beanManager, annotatedType, null, false);
+      return getBeanBuilderImpl(beanManager, null, null, false);
    }
 
    private <T> BeanBuilderImpl<T> getBeanBuilderImpl(BeanManager beanManager, AnnotatedType<T> annotatedType, EjbDescriptor<T> ejbDescriptor, boolean decorator)

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -64,7 +64,7 @@
 import org.jboss.webbeans.resources.ClassTransformer;
 
 /**
- * 
+ * Implementation of the bean builders
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
@@ -306,6 +306,8 @@
       
    public Set<ObserverMethod<T, ?>> createObserverMethods(RIBean<T> declaringBean, WBClass<T> annotatedClass)
    {
+      if (declaringBean.getBeanClass() != annotatedClass.getJavaClass())
+         throw new IllegalArgumentException(declaringBean + " is not a bean for " + annotatedClass);
       Set<ObserverMethod<T, ?>> methods = null;
       for (WBMethod<?, T> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
       {

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -31,7 +31,19 @@
 import org.jboss.webbeans.introspector.WBClass;
 
 /**
+ * Builder for decorator beans. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    BeanDeployerEnvironment beanDeployerEnvironment = ...;
+ *    WBClass<T> annotatedClass = ...;
+ *    
+ *    DecoratorBuilder<T> builder = DecoratorBuilder.of(annotatedClass, beanManager);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    DecoratorImpl<T> bean = builder.createBean();
+ * </pre>
+ * 
+ * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
@@ -65,7 +77,7 @@
    }
 
    /**
-    * Creates a decorator bean
+    * Creates a decorator builder
     * 
     * @param <T> The type
     * @param clazz The class

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -40,7 +40,18 @@
 import org.jboss.webbeans.log.Logging;
 
 /**
+ * Builder for disposal methods. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    BeanDeployerEnvironment beanDeployerEnvironment = ...;
+ *    WBMethod<T, ?> disposalMethod = ...;
+ *    AbstractClassBean<?> declaringBean = ...;//Should be a ManagedBean or a SessionBean
+ *    
+ *    DisposalMethodBuilder<T> builder = DisposalMethodBuilder.of(beanManager, disposalMethod, declaringBean);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    DisposalMethod<T> bean = builder.createBean();
+ * </pre>
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -21,14 +21,14 @@
 */ 
 package org.jboss.webbeans.bean.builder;
 
-import javax.enterprise.inject.spi.AnnotatedType;
 import javax.enterprise.inject.spi.BeanManager;
 
 import org.jboss.webbeans.bean.builder.spi.BeanBuilderFactory;
 import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
 
 /**
- * 
+ * Internal abstract class to keep track of the BeanDeployerEnvironment used and
+ * to create observer methods.
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
@@ -40,8 +40,18 @@
       return (InternalBeanBuilderFactory)BeanBuilderFactory.getInstance();
    }
    
-   public abstract <T> InternalObserverMethodBuilder<T> getInternalObserverMethodBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType);
+   /**
+    * Gets a observer method builder
+    * @param beanManager The bean manager to use
+    * @return the observer method builder
+    */
+   public abstract <T> InternalObserverMethodBuilder<T> getInternalObserverMethodBuilder(BeanManager beanManager);
 
+   /**
+    * Register a bean deployer environment against a manager
+    * @param manager The bean manager
+    * @param environment The environment
+    */
    public abstract void registerBeanManager(BeanManager manager, BeanDeployerEnvironment environment);
    
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -29,11 +29,19 @@
 import org.jboss.webbeans.introspector.WBClass;
 
 /**
+ * Internal interface used to create observer methods
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
 public interface InternalObserverMethodBuilder<T>
 {
+   /**
+    * Create observer methods for a bean
+    * @param declaringBean The bean containing observer methods
+    * @param annotatedClass The annotated class
+    * @return A set of observer methods, or an empty set if none were found
+    * @throws IllegalStateException if declaringBean and annotatedClass are not for the same class
+    */
    Set<ObserverMethod<T, ?>> createObserverMethods(RIBean<T> declaringBean, WBClass<T> annotatedClass);
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -34,8 +34,17 @@
 import org.jboss.webbeans.util.Reflections;
 
 /**
- * Builder for simple beans
+ * Builder for managed beans. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    WBClass<T> clazz = ...;
+ *    
+ *    ManagedBeanBuilder<T> builder = ManagedBeanBuilder.of(clazz, beanManager);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    ManagedBean<T> bean = builder.createBean();
+ * </pre>
+ * 
  * @author Pete Muir
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * 
@@ -56,7 +65,7 @@
     * @param <T> The type
     * @param clazz The class
     * @param manager the current manager
-    * @return A Web Bean
+    * @return A ManagedBeanBuilder instance
     */
    static <T> ManagedBeanBuilder<T> of(WBClass<T> clazz, BeanManagerImpl manager)
    {

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -30,8 +30,17 @@
 import org.jboss.webbeans.log.Logging;
 
 /**
- * Builder for a @New simple bean
+ * Builder for @New managed beans. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    WBClass<T> clazz = ...;
+ *    
+ *    NewManagedBeanBuilder<T> builder = NewManagedBeanBuilder.of(clazz, beanManager);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    NewManagedBean<T> bean = builder.createBean();
+ * </pre>
+ * 
  * @author Nicklas Karlsson 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  */
@@ -44,7 +53,7 @@
     * 
     * @param clazz The annotated class
     * @param manager The Web Beans manager
-    * @return a new NewSimpleBean instance
+    * @return a new NewManagedBeanBuilder instance
     */
    static <T> NewManagedBeanBuilder<T> of(WBClass<T> clazz, BeanManagerImpl manager)
    {

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -32,8 +32,17 @@
 import org.jboss.webbeans.resources.ClassTransformer;
 
 /**
- * Builder for a @New enterprise bean
+ * Builder for @New session beans. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    InternalEjbDescriptor<T> ejbDescriptor;
+ *    
+ *    NewSessionBeanBuilder<T> builder = NewSessionBeanBuilder.of(ejbDescriptor, beanManager);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    NewSessionBean<T> bean = builder.createBean();
+ * </pre>
+ * 
  * @author Nicklas Karlsson
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  */
@@ -46,7 +55,7 @@
     * 
     * @param clazz The annotated class
     * @param manager The Web Beans manager
-    * @return a new NewEnterpriseBean instance
+    * @return a new NewSessionBeanBuilder instance
     */
    static <T> NewSessionBeanBuilder<T> of(InternalEjbDescriptor<T> ejbDescriptor, BeanManagerImpl manager)
    {

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -37,8 +37,19 @@
 import org.jboss.webbeans.ws.WSApiAbstraction;
 
 /**
- * Builder for a producer field
+ * Builder for a producer field. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    WBField<T, ?> field = ...;
+ *    AbstractClassBean<?> declaringBean = ...;
+ *    
+ *    ProducerFieldBuilder<T> builder = ProducerFieldBuilder.of(field, declaringBean, beanManager);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    ProducerField<T> bean = builder.createBean();
+ * </pre>
+ *
+ * 
  * @author Pete Muir
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -39,8 +39,19 @@
 import org.jboss.webbeans.util.Names;
 
 /**
- * Builder for a producer method bean
+ * Builder for a producer method bean. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    WBMethod<T, ?> method = ...;
+ *    AbstractClassBean<?> declaringBean = ...;
+ *    
+ *    ProducerMethodBuilder<T> builder = ProducerMethodBuilder.of(method, declaringBean, beanManager);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    ProducerMethod<T> bean = builder.createBean();
+ * </pre>
+
+ * 
  * @author Pete Muir
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -49,8 +49,17 @@
 import org.jboss.webbeans.util.Proxies;
 
 /**
- * Builder for session beans
+ * Builder for session beans. Usage:
  * 
+ * <pre>
+ *    BeanManager beanManager = ...;
+ *    InternalEjbDescriptor<T> ejbDescriptor;
+ *    
+ *    SessionBeanBuilder<T> builder = SessionBeanBuilder.of(ejbDescriptor, beanManager);
+ *    builder.initialize(beanDeployerEnvironment);
+ *    SessionBean<T> bean = builder.createBean();
+ * </pre>
+ * 
  * @author Pete Muir
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -28,6 +28,7 @@
 
 
 /**
+ * Singleton factory to create the builders.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
@@ -54,9 +55,26 @@
       return INSTANCE;
    }
    
+   /**
+    * Create a builder for simple managed beans
+    * @param beanManager The current bean manager
+    * @param type the class we want to create beans for
+    * @return a simple bean builder instance
+    */
    public abstract <T> SimpleBeanBuilder<T> getSimpleBeanBuilder(BeanManager beanManager, AnnotatedType<T> type);
    
+   /**
+    * Create a builder for enterprise beans
+    * @param beanManager The current bean manager
+    * @param type the ejb descriptor we want to create beans for
+    * @return a simple bean builder instance
+    */
    public abstract <T> EnterpriseBeanBuilder<T> getEnterpriseBeanBuilder(BeanManager beanManager, EjbDescriptor<T> type);
    
+   /**
+    * Create a builder for decorator beans
+    * @param beanManager The current bean manager
+    * @type the class we want to create beans for
+    */
    public abstract <T> DecoratorBeanBuilder<T> getDecoratorBeanBuilder(BeanManager beanManager, AnnotatedType<T> type);
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -24,11 +24,16 @@
 import javax.enterprise.inject.spi.Bean;
 
 /**
+ * Builder to create a decorator
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
 public interface DecoratorBeanBuilder<T>
 {
+   /**
+    * Get the decorator beans
+    * @return a decorator bean
+    */
    Bean<T> getBean();
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -23,6 +23,7 @@
 
 
 /**
+ * Builder to create enterprise beans
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -27,19 +27,39 @@
 import javax.enterprise.inject.spi.ObserverMethod;
 
 /**
- * 
+ * Interface to obtain managed beans
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
 public interface ManagedBeanBuilder<T>
 {
+   /**
+    * Get all the beans created
+    * @return a set of all the beans created
+    */
    Set<Bean<?>> getBeans();
    
+   /**
+    * Get the main bean created
+    * @return the main bean
+    */
    Bean<T> getBean();
    
+   /**
+    * Get the @New bean created
+    * @return the @New bean 
+    */
    Bean<T> getNewBean();
    
+   /**
+    * Get the producer beans created
+    * @return the producer beans
+    */
    Set<Bean<?>> getProducerBeans();
    
+   /**
+    * Get the observer methods created
+    * @return the observer methods
+    */
    Set<ObserverMethod<T, ?>> getObserverMethods();
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -23,6 +23,7 @@
 
 
 /**
+ * Builder to create simle managed beans
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -38,11 +38,21 @@
 {
    
    /**
-    * Creates an EE resource producer field
+    * Creates an EE resource producer field. This method should not be called,
+    * instead use ProducerFieldBuilder.
     * 
-    * @param field The underlying method abstraction
+    * @param field The underlying field abstraction
     * @param declaringBean The declaring bean abstraction
     * @param manager the current manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * 
     * @return A producer field
     */
    public static <T> EEResourceProducerField<T> of(WBField<T, ?> field, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/PersistenceContextProducerField.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/PersistenceContextProducerField.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/PersistenceContextProducerField.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -36,11 +36,21 @@
 {
    
    /**
-    * Creates an EE resource producer field
+    * Creates an EE resource producer field. This method should not be called,
+    * instead use ProducerFieldBuilder.
     * 
-    * @param field The underlying method abstraction
+    * @param field The underlying field abstraction
     * @param declaringBean The declaring bean abstraction
     * @param manager the current manager
+    * @param name The name
+    * @param type The type of the bean
+    * @param types The types of the bean
+    * @param mergedStereotypes The stereotypes
+    * @param scopeType The @Scope annotated annotation
+    * @param policy If the bean has a policy
+    * @param proxyable Is the bean proxyable
+    * @param bindings The bean's bindings
+    * 
     * @return A producer field
     */
    public static <T extends EntityManager> EEResourceProducerField<T> of(WBField<T, ?> field, 

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -69,7 +69,7 @@
          getEnvironment().addBean(bean);
          getManager().addBean(bean);
          
-         InternalObserverMethodBuilder<Extension> observerMethodBuilder = getBeanBuilderFactory().getInternalObserverMethodBuilder(getManager(), clazz);
+         InternalObserverMethodBuilder<Extension> observerMethodBuilder = getBeanBuilderFactory().getInternalObserverMethodBuilder(getManager());
          observerMethodBuilder.createObserverMethods(bean, clazz);
       }
       return this;

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -38,11 +38,12 @@
 import org.jboss.webbeans.log.Logging;
 
 /**
+ * Represents a simple bean or an enterprise bean
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public abstract class ClassBeanDeploymentItem<T> extends DeploymentItem<T>
+abstract class ClassBeanDeploymentItem<T> extends DeploymentItem<T>
 {
    private static final LogProvider log = Logging.getLogProvider(ClassBeanDeploymentItem.class);
    

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -35,11 +35,12 @@
 import org.jboss.webbeans.log.Logging;
 
 /**
- * 
+ * Represents a decorator
+ *  
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class DecoratorDeploymentItem<T> extends DeploymentItem<T>
+class DecoratorDeploymentItem<T> extends DeploymentItem<T>
 {
    private static final LogProvider log = Logging.getLogProvider(ClassBeanDeploymentItem.class);
    
@@ -54,7 +55,7 @@
    }
 
    @Override
-   public void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
+   void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
    {
       DecoratorBeanBuilder<T> builder = BeanBuilderFactory.getInstance().getDecoratorBeanBuilder(manager, getWBClass());
       setValues((Set<ObserverMethod<T, ?>>)null, builder.getBean());

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -33,6 +33,7 @@
 import org.jboss.webbeans.introspector.WBClass;
 
 /**
+ * Wraps a Decorator, Simple bean or a managed bean in the sorter.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
@@ -93,10 +94,18 @@
       {
          return toString;
       }
-      toString = "WBClassDeploymentItem{" + clazz.toString() + "}";
+      toString = this.getClass().getSimpleName() + "{" + clazz.toString() + "}";
       return toString;
    }
    
+   /**
+    * Takes the class or ejb descriptor wrapped by this item and deploys them in the bean manager.
+    * Any found observer methods are returned.
+    * 
+    * @param manager the bean manager to use
+    * @param environment the bean deployer environment to use
+    * @return The observer methods on the beans, or an empty set if none
+    */
    public Set<ObserverMethod<T, ?>> deployBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
    {
       initialiseBeans(manager, environment);

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -29,11 +29,12 @@
 import org.jboss.webbeans.introspector.WBClass;
 
 /**
+ * Represents a simple bean
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class ManagedBeanDeploymentItem<T> extends ClassBeanDeploymentItem<T>
+class ManagedBeanDeploymentItem<T> extends ClassBeanDeploymentItem<T>
 {
    private ManagedBeanDeploymentItem(Sorter sorter, WBClass<T> clazz)
    {

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -32,11 +32,12 @@
 import org.jboss.webbeans.resources.ClassTransformer;
 
 /**
+ * Represents an enterprise bean
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class SessionBeanDeploymentItem<T> extends ClassBeanDeploymentItem<T>
+class SessionBeanDeploymentItem<T> extends ClassBeanDeploymentItem<T>
 {
    private InternalEjbDescriptor<T> ejbDescriptor;
    

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java	2009-09-22 15:13:35 UTC (rev 3733)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java	2009-09-22 15:17:52 UTC (rev 3734)
@@ -41,6 +41,8 @@
 import org.jboss.webbeans.util.Reflections;
 
 /**
+ * Takes all the classes and ejb descriptors in a deployment and sorts them according to their 
+ * dependencies. Classes/ejb descriptors with no dependencies come first.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
@@ -75,6 +77,13 @@
       this.servletApiAbstraction = servletApiAbstraction;
    }
    
+   /**
+    * Creates a sorter
+    * @param beanManager The bean manager
+    * @param classes The web bean classes
+    * @param ejbDescriptors The ejb descriptors
+    * @return a sorter
+    */
    public static Sorter createSorter(BeanManagerImpl beanManager, Set<WBClass<?>> classes, EjbDescriptors ejbDescriptors)
    {
       EJBApiAbstraction ejbApiAbstraction = beanManager.getServices().get(EJBApiAbstraction.class);
@@ -115,6 +124,10 @@
       }
    }
    
+   /**
+    * Sorts the classes and ejb descriptors
+    * @return a list of deployment items wrapping the classes/ejb descriptors
+    */
    public List<DeploymentItem<?>> sort()
    {
       //No need to sort the disposal method beans anymore since the disposal method must be in the same bean 




More information about the weld-commits mailing list