Hi all,

Kai and me proposed in the wiki to clean up to the kernel interfaces, to make 
them more consistent and to remove some redundancy. After a reasonably long 
period of open discussion in the wiki, yesterday a group of 6 CDK developers 
from the CUBIC amongst the proposer went through the proposal and decided 
which points are going to be implemted, and which not.

The full overview of approved changes can be found in the wiki [1]. The list 
of changes is quite extensive, but should make the API easier to work with. 
Moreover, it will be the last set of major API changes, as CDK 1.0 is 
scheduled to be release in September/october. We know that these changes will 
require a lot of changes in your code, but support will be available via this 
list, via the IRC chat channel, and, if really required, via private email.

In the next weeks, the proposed changes will gradually be introduced in SVN, 
allowing us to make all the changes in the rest of the CDK library. As an end 
user, you might consider staying in touch with the latest version in SVN, for 
which Rajarshi's nightly build server provides precompiled jar files [2], 
*and* a detailed overview of -current- API changes [3]. This would allow one 
to 'follow' the transition in progress, and make the same step-by-step 
changes we make in the CDK SVN repository.

A brief overview is given below (use fixed font), and a full discussion is in 
the wiki:

IAtom:
 - the method getX2d() & similar are removed
IAtomContainer:
 - getAtomAt(int) -> getAtom(int)
 - setAtomAt(int, IAtom) -> setAtom(int, IAtom)
 - setAtomCount(int) is removed
 - IAtom[] getAtoms() is removed
 - Enumeration atoms() -> Iterator atoms()
 - getConnectedAtomsVector(IAtom) -> Iterator getConnectedAtoms(IAtom)
   (and similar for IBond, etc…)
 - getIntersection(IAtomContainer) moves to AtomContainerManipulator
IBioPolymer:
 - Hashtable getStrands() -> Map strands()
IBond:
 - IAtom[] getAtoms() -> Iterator atoms()
 - getAtomAt(int) -> getAtom(int)
IChemFile:
 - IChemSequence[] getChemSequences() -> Iterator chemSequences()
IMapping:
 - IChemObject[] getRelatedObjects() -> Iterator getRelatedObjects()
IReaction:
 - IMapping[] getMappings() -> Iterator mappings()
IRing:
 - getOrderSum() -> getBondOrderSum()
IRingSet:
 - ringAlreadyInSet() moves to manipulator
ISetOfAtomContainers (renamed to IAtomContainerSet):
 - IAtomContainer[] getAtomContainers() -> Iterator atomContainers()
ISetOfMolecules (renamed to IMoleculeSet):
 - IAtomContainer[] getMolecules() -> Iterator molecules()
ISetOfReactions (renamed to IReactionSet):
 - IReaction[] getReactions() -> Iterator reactions()

Egon

1.http://wiki.cubic.uni-koeln.de/cdkwiki/doku.php?id=refactoringkernelclasses
2.http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/
3.http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/apicomp.html

-- 
[EMAIL PROTECTED]
Cologne University Bioinformatics Center (CUBIC)
Blog: http://chem-bla-ics.blogspot.com/
GPG: 1024D/D6336BA6

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to