pivot-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "aappddeevv" <aappdde...@verizon.net>
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
Date Fri, 11 Jun 2010 11:58:28 GMT
I'm fine without the utils class, however, I'll propose that we need some
static methods for default property access to write a tree walker consistent
with the serializer default property setter. The issue is that it is quite
possible, some day in the future :-) that the sequence list in a container
is no longer the primary child instance container in all cases or that it
contains more elements than you want when you walk the tree.



-----Original Message-----
From: Greg Brown (JIRA) [mailto:jira@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.


Mime
View raw message