This is expected behaviour. When the Child instance is added to MyTask, it is not yet configured (i.e. its attributes are not yet set) . It will be configured by the time your task's execute() method is called. The normal strategy is just to accumulate the Child objects in a collection and only use them in the execute() method.
If you must have the Child elements configured before being given to your task, change the name of the addChild() method to addConfiguredChild(). Ant will then configure the Child elements before passing them to your task. Conor Gilles QUERRET wrote: > Hello, > > > Short story : I have an issue when adding a child element to its father > : child's attribute are not set when in addChild(Child element) method... > > -- build.xml fragment -- > <MyTask> > <Child attribute="value" /> > <Child attribute="value2" /> > ... > </MyTask> > > In the classfile for Child, there's a setAttribute(String) method. > In the classfile for MyTask, there's a addChild(Child) method. > When the task is run, I enter the addChild method, with a newly created > Child object, but attribute's value is null. > > Question : is this the normal behavior ? I just want to create a HashMap > with this attribute as a key, and the Child object as value. Or is there > another place where I should create my HashMap ? > > Thanks > > Gilles QUERRET > http://pct.sf.net > > PS : please also CC me, I'm not a ant-user subscriber. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]