Sorry, I missed this. I've done something like this before. Ping me in a few days. :)
Matt On Mon, Nov 14, 2011 at 5:58 AM, Simone Tripodi <simonetrip...@apache.org> wrote: > Hi James! > many thanks in advance!!! All the best, > Simo > > http://people.apache.org/~simonetripodi/ > http://simonetripodi.livejournal.com/ > http://twitter.com/simonetripodi > http://www.99soft.org/ > > > > On Mon, Nov 14, 2011 at 12:51 PM, James Carman > <jcar...@carmanconsulting.com> wrote: >> Sounds easy enough, but it might involve rethinking the guts of digester a >> bit. Let me "digest" on that a bit, but I think we can do it somewhat >> easily. >> >> Sent from tablet device. Please excuse typos and brevity. >> On Nov 14, 2011 3:02 AM, "Simone Tripodi" <simonetrip...@apache.org> wrote: >> >>> Hi all guys, >>> I'm writing to ask you all a big help on fixing that issues that is >>> spoling my sweet dreams and completely blocking for the rest :) >>> >>> The well known issue is that the Digester has been able to create >>> objects using only the default empty constructor, that is because >>> instances are created when the XML elements begin. >>> >>> Thanks to Matt Benson's effort, using CGLIB it is possible to create >>> instances using arbitrary constructors, extracting arguments from the >>> same matching XML element attributes. >>> >>> I am sure we can do even more, extracting constructor arguments from >>> nested elements, I mean, given the following POJO: >>> >>> class MyBean >>> { >>> >>> // (g|s)etter omitted >>> private float floatProperty; >>> >>> public MyBean( double doubleProperty, boolean booleanProperty ) >>> ... >>> } >>> >>> and the following XML snippet >>> >>> <toplevel> >>> <bean double="9.99"> >>> <boolean>true</boolean> >>> <float>5.5</float> >>> </bean> >>> </toplevel> >>> >>> I would like - but don't know how, that's here that I need help - via >>> CGLIB (or something similar) implementing a Lazy Initialization policy >>> that allows us creating a proxy that tracks the Object methods >>> invocations, but the constructor and methods will be invoked only when >>> the matchin XML element terminates. >>> >>> Just to be more clear: >>> >>> <toplevel> >>> <bean double="9.99"> <!-- create the MyBean Proxy, >>> register the 1st ctor argument --> >>> <boolean>true</boolean> <!-- register the 2nd ctor argument --> >>> <float>5.5</float> <!-- track invokation of the >>> setBeanProperty --> >>> </bean> <!-- matche ends, invoke the >>> constructor and tracked methods --> >>> </toplevel> >>> >>> Do you think that would be possible? >>> Many thanks in advance, all the best! >>> Simo >>> >>> http://people.apache.org/~simonetripodi/ >>> http://simonetripodi.livejournal.com/ >>> http://twitter.com/simonetripodi >>> http://www.99soft.org/ >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >>> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org