[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