commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Kitching <skitch...@apache.org>
Subject Re: [digester] setting parent properties after the child's
Date Sat, 02 Dec 2006 02:07:32 GMT
On Fri, 2006-12-01 at 16:24 -0800, Dmitry Beransky wrote:
> > The section titled
> >  "How do I get CallMethodRule to fire before SetNextRule?"
> > might be what you need..
> 
> thanks.  it did help.  I had to replace addSetProperties with
> addCallMethod, so the final sequence of rules now looks like:
> 
>         digester.addObjectCreate("*/menu", "javax.swing.JMenu", "class");
>         digester.addObjectCreate("*/menu/item",
> "javax.swing.JMenuItem", "class");
>         digester.addObjectCreate("*/menu/item/action", null, "class");
>         digester.addCallMethod("*/menu/item", "setText", 1, new
> Class[]{String.class});
>         digester.addCallParam("*/menu/item/", 0, "title");
>         digester.addSetNext("*/menu/item/action", "setAction");
>         digester.addSetNext("*/menu/item", "add");
> 
> wow, this feels like such a hack to me, though.  Is this the only way
> to get the behavior I want?

The fact that the setAction method on your class resets the title
property could also be considered "a hack" :-)

You are always free to write a Rule variant that does exactly what you
want; Digester is explicitly designed to allow custom rule classes to be
used.

Regards,

Simon


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message