From: Rajarshi G. <rg...@in...> - 2007-12-25 20:24:10
|
On Dec 25, 2007, at 6:47 AM, Egon Willighagen wrote: > On Dec 24, 2007 5:23 PM, Rajarshi Guha <rg...@in...> wrote: >> Furthermore, if the I*Set classes are going to implement Iterable >> (which I fully support) then the methods like atoms(), bonds() etc on >> IAtomContainer should also be iterables (and not iterators) to >> maintain syntactic consistency. > > OK, good. So, we then will have: > > foreach (IAtom atom : someAtomContainer.atoms() {}; > foreach (IBond bond : someAtomContainer.bonds() {}; > > ... etc... > > and > > foreach (IChemModel model : someChemSequence() {}; > foreach (IMolecule molecule : someMoleculeSet() {}; I assume the above should be foreach (IChemModel model : someChemSequence) {} foreach (IMolecule molecule : someMoleculeSet) {}; > So, we'll have two situations: > > 1. when the IChemObject is a true set, then the IChemObject interface > extends Iterable directly > 2. otherwise, methods like .atoms() provide a Class implementing > Iterable > > Situation 1 applies to: IAtomContainerSet, IChemSequence, > IMoleculeSet, IReactionSet... > Situation 2 applies to IAtomContain, IChemModel Correct > would be useful to have a nightly online for the branch > then... because removing all this deprecated code will likely take > some time... http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly- iterable/ Compiles are set for 1pm, 1am EST Right now, the build fails. ------------------------------------------------------------------- Rajarshi Guha <rg...@in...> GPG Fingerprint: 0CCA 8EE2 2EEB 25E2 AB04 06F7 1BB9 E634 9B87 56EE ------------------------------------------------------------------- A bug in the code is worth two in the documentation. |