From: gilleain t. <gil...@gm...> - 2010-07-31 14:40:59
|
Hi, Hmmm. I'm not very familiar with how cdk.io works. I've only used it, not developed any of the code. It seems like a lot of the formats in cdk.io.formats return null for the "getWriterClassName", but there are 14 that do: CDKSourceCodeFormat.java CMLFormat.java CMLRSSFormat.java CrystClustFormat.java GaussianInputFormat.java HINFormat.java MDLV2000Format.java Mol2Format.java PDBFormat.java RGroupQueryFormat.java SDFFormat.java ShelXFormat.java SMILESFormat.java XYZFormat.java and I guess that these correspond to the 14 writers? It's strange, because IChemFormatMatcher extends IChemFormat, so they should all pass the instanceof. gilleain On Sat, Jul 31, 2010 at 3:10 PM, Mark Southern <sou...@sc...> wrote: > Hi Gilleain, > > I updated the MoleculeFileExportFormatHandler to export using all 14 of the Writers in the cdk.io package, one after the other. > > I then started to think that there might be a better way to do it. Could I use the cdk.io.FormatFactory class to obtain the Writers and their extensions? i.e. > > FormatFactory factory = new FormatFactory(); > for(IChemFormatMatcher matcher: factory.getFormats()) { > if( matcher instanceof IChemFormat ) { > IChemFormat format = (IChemFormat) matcher; > if ( null != format.getWriterClassName() ) { > // instantiate Writer and add to map with preferredNameExtension as the "type" for the CDKExportFormat > } > } > } > > However, when I run this code, only 9 of the 14 Writers in cdk.io get listed. Is this simply unfinished functionality in the CDK? > > Best, > ~Mark. > URL: http://code.google.com/p/cdk-export/ > |