[jdom-interest] converting Elements to objects
Anton Stoyanov
anton.stoyanov at gmail.com
Thu Feb 17 13:01:42 PST 2005
hmm
don't like the look of that JATO - can't i implement something simpler
myself....any more suggestions?
On Thu, 17 Feb 2005 21:42:17 +0100, Anton Stoyanov
<anton.stoyanov at gmail.com> wrote:
> Hey ,
> a reply from mr Hunter himself :)
>
> just to take the opportunity to thank you for everything you've done,
> i'll take a look at JATO then :)
>
> anton
>
>
> On Thu, 17 Feb 2005 12:38:08 -0800, Jason Hunter <jhunter at xquery.com> wrote:
> > The most elegant way I've seen to do this is JATO, but it's not a very
> > active project.
> >
> > http://sourceforge.net/projects/jato
> >
> > It was written up in JavaWorld in the past.
> >
> > -jh-
> >
> > Anton Stoyanov wrote:
> >
> > > Hi,
> > >
> > > thanks for the answers :) it's my first post in this list and i'm
> > > really happy to get such instant expert opinions :)
> > >
> > >
> > > you are right I don't want to change the customer object in any way
> > > (extending element or taking in an element)
> > >
> > > Jason, you say makeCustomer would read out the fields..... can I make
> > > this generic - so that it's not makeCustomer but "makeObject(Element
> > > e)" which will just take in an element and automatically recognize if
> > > it's a customer or saleitem or whatever object and make old the
> > > children into strings, say, in that object.
> > >
> > >
> > > thanks alot
> > > anton
> > >
> > >
> > > On Thu, 17 Feb 2005 14:44:36 -0500, Jason Winnebeck <gillius at gillius.org> wrote:
> > >
> > >>Anton Stoyanov wrote:
> > >>
> > >>>with JDOM I can get a java.util.List of elements, but how can I
> > >>>transform them into customer objects ?
> > >>
> > >>As far as I know, there is not a JDOM method or another automatic method to
> > >>do this.
> > >>
> > >>The way I resolve this is by making a constructor for Customer that takes an
> > >>Element pointing to a customer tag, then reads the children of that tag.
> > >>
> > >>Element e = parent.getChild( "customer" );
> > >>Customer c = new Customer( e );
> > >>
> > >>If you want to separate the JDOM/XML parsing away from the design of the
> > >>Customer class (there are various reasons you may object to putting JDOM
> > >>code into the Customer class, espically if you did not write the Customer
> > >>class), you could use a sort of factory.
> > >>
> > >>If your XML is pretty structured and you aren't sure what you are going to
> > >>get out of it you could use a generic factory that returned an object
> > >>implementing an interface, and the specific type is dependent on the tag
> > >>passed in. Or, if you do know what you are getting, then you could do
> > >>something like:
> > >>
> > >>Element e = parent.getChild( "customer" );
> > >>Customer c = XMLObjectFactory.makeCustomer( e );
> > >>
> > >>makeCustomer would presumably read out the fields and call a verbose form of
> > >>constructor for Customer to construct an appropriate new Customer object.
> > >>
> > >>Jason Winnebeck
> > >>_______________________________________________
> > >>To control your jdom-interest membership:
> > >>http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
> > >>
> > >
> > >
> > >
> >
>
> --
> ----------------------
> Anton Stoyanov
>
--
----------------------
Anton Stoyanov
More information about the jdom-interest
mailing list