commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From robert burrell donkin <>
Subject Re: [Digester] How can Digester create objects whose class is defined in the XML?
Date Mon, 04 Mar 2002 18:53:23 GMT
hi martin

On Sunday, March 3, 2002, at 07:41 AM, Martin Cooper wrote:

> I need to be able to specify the class to be instantiated for an element
> from an attribute on its parent element. For example, I need to have
> Digester handle the following:
>   <action-mappings type="">
>     <action ... />
>     <action ... />
>   </action-mappings>
> Here, each ObjectCreate for an <action> element needs to create an object 
> of
> the class specified by the 'type' attribute of the <action-mappings>
> element. After the object has been created, its own attributes would be
> populated using addSetProperties(). There is no object created for the
> <action-mappings> element.
> I have a feeling that this is going to involve a FactoryCreateRule of some
> sort. However, I haven't quite got my head around this type of rule yet to
> figure this out.
> Ideas, anyone?

there are at least two ways to be this kind of thing.

probably the easiest is something like

digester.addFactoryCreate("root/action", DefaultObject.class, "type")

(an instance of class DefualtObject will be created whenever the attribute 
isn't present).

- robert

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message