Add support for multi-valued and complex-typed properties
In the section Component of the Assembly Specification V1.00 document, the property element is defined as follows:
<property name="xs:NCName" (type="xs:QName" | element="xs:QName")? mustSupply="xs:boolean"? many="xs:boolean"? source="xs:string"? file="xs:anyURI"?>* property-value?
For instance, a component Balancer might be defined as follows:
... server1 server2 ...In the implementation class (in java for instance), we would have something like this:
@Property(name="p1") private List p1;
Furthermore, according to the specification we can assign a xsd complex typed object to a property. In this case, we could have:
<xsd:complexType name="ComplexServerType"> xsd:sequence <xsd:element name="port" type="xsd:int"/> <xsd:element name="host" type="xsd:string"/> </xsd:sequence> </xsd:complexType>
In the composite file, we would have:
8080 www1.myserver.com 8080 www2.myserver.comIn the (java) implementation file, we would have something like:
@Property(name="p1") private List p1;