[ 
https://issues.apache.org/jira/browse/PIVOT-514?page=com.atlassian.jira.plugin.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.

Reply via email to