[jboss-cvs] JBossAS SVN: r70211 - in projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata: spi/builder and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 28 10:15:19 EST 2008


Author: kabir.khan at jboss.com
Date: 2008-02-28 10:15:19 -0500 (Thu, 28 Feb 2008)
New Revision: 70211

Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
Log:
Add addPropertyMetaData() methods to take the types returned by createList(), createCollection(), createSet(), createArray() and createMap()

Add createBuilder(BeanMetaData beanMetaData)

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java	2008-02-28 14:32:43 UTC (rev 70210)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java	2008-02-28 15:15:19 UTC (rev 70211)
@@ -237,6 +237,27 @@
       return this;
    }
 
+   public BeanMetaDataBuilder addPropertyMetaData(String name, Collection<ValueMetaData> value)
+   {
+      Set<PropertyMetaData> properties = getProperties();
+      if (value instanceof ValueMetaData)
+      {
+         properties.add(new AbstractPropertyMetaData(name, (ValueMetaData)value));
+      }
+      else
+      {
+         properties.add(new AbstractPropertyMetaData(name, value));
+      }
+      return this;
+   }
+
+   public BeanMetaDataBuilder addPropertyMetaData(String name, Map<ValueMetaData, ValueMetaData> value)
+   {
+      Set<PropertyMetaData> properties = getProperties();
+      properties.add(new AbstractPropertyMetaData(name, value));
+      return this;
+   }
+   
    private Set<PropertyMetaData> getProperties()
    {
       Set<PropertyMetaData> properties = beanMetaData.getProperties();

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java	2008-02-28 14:32:43 UTC (rev 70210)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java	2008-02-28 15:15:19 UTC (rev 70211)
@@ -26,6 +26,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.ValueMetaData;
@@ -62,6 +63,21 @@
    {
       return BeanMetaDataBuilderFactory.createBuilder(name, bean);
    }
+   
+   /**
+    * Create builder from BeanMetaData
+    * 
+    * @param the bean metadata
+    * @return new Builder()
+    */
+   public static BeanMetaDataBuilder createBuilder(BeanMetaData beanMetaData)
+   {
+      if (beanMetaData instanceof AbstractBeanMetaData)
+      {
+         return BeanMetaDataBuilderFactory.createBuilder((AbstractBeanMetaData)beanMetaData);
+      }
+      else throw new IllegalArgumentException("Invalid type of bean metadata");
+   }
 
    /**
     * Get the constructed bean metadata 
@@ -274,6 +290,24 @@
    public abstract BeanMetaDataBuilder addPropertyMetaData(String name, ValueMetaData value);
 
    /**
+    * Add a property
+    * 
+    * @param name the property name
+    * @param value the value
+    * @return the builder
+    */
+   public abstract BeanMetaDataBuilder addPropertyMetaData(String name, Collection<ValueMetaData> value);
+
+   /**
+    * Add a property
+    * 
+    * @param name the property name
+    * @param value the value
+    * @return the builder
+    */
+   public abstract BeanMetaDataBuilder addPropertyMetaData(String name, Map<ValueMetaData, ValueMetaData> value);
+   
+   /**
     * Set the create method
     * 
     * @param methodName the method name




More information about the jboss-cvs-commits mailing list