1 Reply Latest reply on May 26, 2009 4:03 AM by wolfc

    Annotating a List which must appear as an element

    wolfc

      Given the following XML:

      <?xml version="1.0" encoding="UTF-8"?>
      <jboss-mb xmlns="http://www.jboss.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
       http://www.jboss.org/j2ee/schema/jboss_mb_0_1.xsd"
       version="0.1">
       <managed-beans>
       <managed-bean>
       <name>SimpleResourceBean</name>
       <bean-class>org.jboss.reloaded.injection.test.simple.SimpleResourceBean</bean-class>
       </managed-bean>
       </managed-beans>
      </jboss-mb>


      I want ManagedBeansMetaData to be a List.
      public class ManagedBeansMetaData extends ArrayList<ManagedBeanMetaData>


      So I can simply do this in my deployment visitor:
      protected List<ManagedBeanMetaData> getComponents(ManagedBeanJarMetaData deployment)
       {
       return deployment.getManagedBeans();
       }

      Plus it makes more sense.

      How do I annotate ManagedBeansMetaData and ManagedBeanMetaData to make that work?

        • 1. Re: Annotating a List which must appear as an element
          wolfc

          Can't happen with jaxb 2.0, it needs jaxb 2.1. And then as Emanuel pointed out, it simply becomes:

          @XmlElement(name="managed-bean")
           @XmlElementWrapper(name="managed-beans")
           public void setManagedBeans(ManagedBeansMetaData managedBeans)
           {
           this.managedBeans = managedBeans;
           }