Why wouldn't the element name be determined at runtime? <entry> <key>6</key> <value> <RealElementType></RealElementType> </value> </entry>
It would make sense when generating the XML for the value element to pull the Element Descriptor for the actual value object (this all applies to the key as well). Creation on the fly: 1. Create <value> element descriptor 2. Get value from the Map.Entry 3. Get ElementDescriptor for the value 4. Add that to the <value> element descriptor as a subelement -----Original Message----- From: robert burrell donkin [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 02, 2004 4:17 PM To: Jakarta Commons Developers List Subject: Re: [betwixt] Writing Map entries issue On 1 Jun 2004, at 22:04, Inger, Matthew wrote: > One other issue, when writing map objects, we get XML like > the following: > > <entry> > <key>6</key> > <value> > <itemNo>6</itemNo> > <itemName>GlobalParameter6</itemName> > <itemDesc>Global Parameter for Betwixt</itemDesc> > <parentItemNo>0</parentItemNo> > <parentItemName/> > <dataType value="8" valueAsInteger="8" desc="Boolean"> > <valueAsObject>8</valueAsObject> > </dataType> > <parameterValue>true</parameterValue> > </value> > </entry> > > Shouldn't the "value" part have another subelement which represents > the type? Otherwise, how is a map supposed to be read back in? but having a subelement would make things so much easier :) when the adder method for the map is strongly typed then betwixt can guess what type of object should be created. for example, if the adder is 'add(Key key, Value value)' then the type of the value object must be Value. of course, if Value happens to be an abstract class or an interface then there are more wrinkles. you'll probably need to use derived beans (which don't work properly at the moment :( > Is there something i'm missing? yes, the refactoring branch ;) this stuff can't really be made to work with the older reading design. there is still a lot of functionality missing around this area but it's reasonably easier to add with the new design :) - robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]