You can ensure that a Sequence implementation does not allow duplicate entries. However, your collection class would also need to implement Set or Group if you want to expose that API to a caller. WTKXSerializer does not know anything about Sets (nor does it need to, since that is not a primary use case for WTKX serialization).
On Jun 11, 2010, at 8:49 AM, aappddeevv wrote: > Meant list and set not map. > > -----Original Message----- > From: aappddeevv [mailto:aappdde...@verizon.net] > Sent: Friday, June 11, 2010 7:58 AM > To: dev@pivot.apache.org > Subject: RE: [jira] Updated: (PIVOT-514) create an annotation to specify the > default "child" property of a component used by the serializer to attach > children objects > > My thinking was that if a client defined a list or a map using standard java > collection classes. If the recommendation is to always use pivot collection > classes in pivot code and sequence supports both map and list, that sounds > fine. > > -----Original Message----- > From: Greg Brown (JIRA) [mailto:j...@apache.org] > Sent: Thursday, June 10, 2010 11:10 AM > To: dev@pivot.apache.org > Subject: [jira] Updated: (PIVOT-514) create an annotation to specify the > default "child" property of a component used by the serializer to attach > children objects > > > [ > https://issues.apache.org/jira/browse/PIVOT-514?page=com.atlassian.jira.plug > in.system.issuetabpanels:all-tabpanel ] > > Greg Brown updated PIVOT-514: > ----------------------------- > > Attachment: PIVOT-514.patch > DefaultProperty.java > > OK, thanks for the updated patch. I think this can be done without the need > for the utils class - see attached patch. > > There was also an issue with the setOrAddDefaultPropertyContent() method in > SerializerUtils - that method checked for instances of java.util.Collection, > where it should have been looking for org.apache.pivot.collections.Sequence > (nothing in Pivot implements java.util.Collection). > > Overall, I like the change. It can significantly reduce the size/nesting > depth of a WTKX file. See the changes to tab_panes.wtkx in the patch for an > example. > > >> create an annotation to specify the default "child" property of a > component used by the serializer to attach children objects >> > ---------------------------------------------------------------------------- > ------------------------------------------------- >> >> Key: PIVOT-514 >> URL: https://issues.apache.org/jira/browse/PIVOT-514 >> Project: Pivot >> Issue Type: Improvement >> Components: wtk >> Reporter: Appddevvv >> Priority: Minor >> Fix For: 1.6 >> >> Attachments: DefaultProperty.java, defaultpropertypatch.zip, > defaultpropertypatch.zip, PIVOT-514.patch >> >> >> Add an annotation called @ContentProperty that specifies the default > property to attach children to in the serializer. I found that I was making > mistakes when creating WTKX that this annotation and a default "child > attachment" approach could help. Benefits include: >> a) The client does not need to know which property to attach the children > to. >> b) To add objects to a collection the parent object does not need to > extend from sequence. The sequence can be contained in the object instead of > implementing the interface. Containment can be another approach to getting > content into the parent objects versus inheritance. >> c) You can change some of the properties in the class where attachment > occurs and your WTKX files do not have to change. >> The default mechanism would be similar to what exists today. It's a simple > extension of it. The "attach child" search would be: >> a) If the content property is specified, use that property to add the > child to. If the content property is a collection, add it to the collection. >> b) If the content property is not specified, >> b.1) If the parent object is a collection (this is how it is handled > today) then add it to the collection using the List.add(Object) method. >> b.2) Add it to the property specified in the XML. This is also how it is > handled today. >> I wrote this for a small modeled framework similar to pivot and could work > up a couple of patches for this. This is very similar to how wpf handles > child content specifications in XML. Thoughts? > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. >