From: Kai H. <Kai.Hartmann@Uni-Koeln.De> - 2004-08-12 11:44:23
|
Hi all, I agree with your proposal. But: The copy() method should be named shallowCopy() - as it is now. This way it is obvious for the once-in-a-while user what the methods do. Kai Egon Willighagen wrote: > Hi all, > > recently I posted some bits on the PMD tests, and some remaining problems with > the core classes... I might have found another one... > > What about cloning? Therefore: > > =========================================== > Request for Comments > > Name: Clones and Copies > Date: 2004-08-07 > Proposer: Egon Willighagen > > REASON > > AtomContainer has a shallowCopy() and a clone()... the first clones everything > by making clones of all fields, while the second only creates a new > AtomContainer, but with the exact same instances for its content... > > Atom's clone() method, however, was more like a shallowCopy... I've fixed > this, but since this is so important I really want to make this a formal > agreement, and therefore this proposal. > > PROPOSAL > > Each core class has a clone() and a copy() method. The first makes a deep > clone, which means that clone() makes a clone of itself and all of its > content. The copy() method, however, makes a clone of itself and maintains > the instances of all object fields. > > =========================================== > |