I have to disagree.  If a child property is a class or a collection, you will 
be setting a reference to the same objects in the cloned parent.  Thus, updates 
to the child property will be made to both the clone and the original.  
ObjectUtil.copy() is another good way to clone, but does not always work for 
deeply nested objects.

-TH

--- In flexcoders@yahoogroups.com, The Real Napster <myadi.h@...> wrote:
>
> Ok. But Its Not compulsory that you have to write a clone method. Anyways
> other way you can try is
> 
> public function cloneLeaf():CallMonitoringLeaf
> {
>  var obj:CallMonitoringLeaf = new CallMonitoringLeaf();
>  obj.optionCallMonitoring = this.optionCallMonitoring;
>  obj.nodesSelected =this.nodesSelected;
>  obj.dataCallMonitoring = this.dataCallMonitoring;
>  obj.nodeName = this.nodeName;
>  return obj;
>  }
> 
> So now calling cloneLeaf() returns new duplicated object.
> 
> Hope this works for you. I did't test it, however your reply will tell
> about that. :)
> 
> Thanks
> 
> On Thu, Nov 3, 2011 at 9:26 PM, turbo_vb <TimHoff@...> wrote:
> 
> > **
> >
> >
> > If nodeName is a class, you'll need to create a clone method in that class
> > as well, and do this:
> >
> > obj.nodeName = nodeName.clone();
> >
> > If it's just a string, you can try:
> >
> > obj.nodeName = nodeName.toString();
> >
> > -TH
> >
> >
> > --- In flexcoders@yahoogroups.com, geckko <geckko80@> wrote:
> > >
> > > Hi all,
> > >
> > > I'm trying to duplicate one object but when i modify the "master" object
> > > the child object is modified too. My code is something similar to this
> > >
> > > private function cloneLeaf():CallMonitoringLeaf{
> > > var obj:CallMonitoringLeaf = new CallMonitoringLeaf();
> > > obj.optionCallMonitoring = optionCallMonitoring;
> > > obj.nodesSelected = nodesSelected;
> > > obj.dataCallMonitoring = dataCallMonitoring;
> > > obj.nodeName = nodeName;
> > > return obj;
> > > }
> > >
> > > But when i modify nodeName (for example) in the object that i use to
> > > duplicate (master object), the child object modifies its name too. Is
> > > there any way to avoid this behaviour?
> > >
> > > Thanks in advance
> > >
> >
> >  
> >
>


Reply via email to