org.jmol.adapter.readers.xml
Class XmlCmlReader

java.lang.Object
  extended by org.jmol.adapter.smarter.AtomSetCollectionReader
      extended by org.jmol.adapter.readers.xml.XmlReader
          extended by org.jmol.adapter.readers.xml.XmlCmlReader
Direct Known Subclasses:
XmlMolproReader

public class XmlCmlReader
extends XmlReader

A CML2 Reader - If passed a bufferedReader (from a file or inline string), we generate a SAX parser and use callbacks to construct an AtomSetCollection. If passed a JSObject (from LiveConnect) we treat it as a JS DOM tree, and walk the tree, (using the same processing as the SAX parser) to construct the AtomSetCollection. symmetry added by Bob Hanson: setSpaceGroupName() setUnitCellItem() setFractionalCoordinates() setAtomCoord() applySymmetry()


Nested Class Summary
(package private)  class XmlCmlReader.CmlHandler
           
 
Nested classes/interfaces inherited from class org.jmol.adapter.readers.xml.XmlReader
XmlReader.DummyResolver, XmlReader.JmolXmlHandler
 
Field Summary
private  Atom[] atomArray
           
private  int atomCount
           
private  java.util.Properties atomIdNames
           
private  Bond[] bondArray
           
private  int bondCount
           
private  java.lang.String cellParameterType
           
protected  int CML
          state constants
private  java.lang.String[] cmlImplementedAttributes
           
protected  int CRYSTAL
          state constants
protected  int CRYSTAL_SCALAR
          state constants
protected  int CRYSTAL_SYMMETRY
          state constants
protected  int CRYSTAL_SYMMETRY_TRANSFORM3
          state constants
private  boolean embeddedCrystal
           
private  boolean haveMolecule
           
protected  int LATTICE_VECTOR
          state constants
private  int latticeVectorPtr
           
private  java.lang.String localSpaceGroupName
           
protected  int MODULE
          state constants
private  int moduleNestingLevel
           
protected  int MOLECULE
          state constants
protected  int MOLECULE_ATOM
          state constants
protected  int MOLECULE_ATOM_ARRAY
          state constants
protected  int MOLECULE_ATOM_BUILTIN
          state constants
protected  int MOLECULE_ATOM_SCALAR
          state constants
protected  int MOLECULE_BOND
          state constants
protected  int MOLECULE_BOND_ARRAY
          state constants
protected  int MOLECULE_BOND_BUILTIN
          state constants
protected  int MOLECULE_FORMULA
          state constants
private  int moleculeNesting
           
private  int nModules
           
private  boolean processing
           
private  java.lang.String scalarDictRef
           
private  java.lang.String scalarDictValue
           
private  java.lang.String scalarTitle
           
protected  int START
          state constants
protected  int state
          the current state
protected  int SYMMETRY
          state constants
private  int tokenCount
           
(package private)  java.lang.String[] tokens
           
 
Fields inherited from class org.jmol.adapter.readers.xml.XmlReader
atom, chars, implementedAttributes, keepChars, parent
 
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
ANGSTROMS_PER_BOHR, applySymmetryToBonds, atomSetCollection, desiredModelNumber, desiredSpaceGroupIndex, doApplySymmetry, filter, getHeader, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveDesiredModel, iHaveSymmetryOperators, iHaveUnitCell, latticeCells, line, modelNumber, needToApplySymmetry, next, notionalUnitCell, prevline, primitiveLatticeVectors, ptLine, reader, readerName, spaceGroup
 
Constructor Summary
XmlCmlReader()
           
XmlCmlReader(XmlReader parent, AtomSetCollection atomSetCollection, java.io.BufferedReader reader, org.xml.sax.XMLReader xmlReader)
           
XmlCmlReader(XmlReader parent, AtomSetCollection atomSetCollection, netscape.javascript.JSObject DOMNode)
           
 
Method Summary
 void applySymmetry()
           
(package private)  void breakOutAtomTokens(java.lang.String str)
           
(package private)  void breakOutBondTokens(java.lang.String str)
           
(package private)  void breakOutTokens(java.lang.String str)
           
(package private)  void checkAtomArrayLength(int newAtomCount)
           
(package private)  void checkBondArrayLength(int newBondCount)
           
private  void createNewAtomSet(java.util.HashMap atts)
           
private  void getDictRefValue(java.util.HashMap atts)
           
(package private)  int parseBondToken(java.lang.String str)
           
 void processEndElement(java.lang.String uri, java.lang.String name, java.lang.String qName)
           
 void processStartElement(java.lang.String uri, java.lang.String name, java.lang.String qName, java.util.HashMap atts)
           
 
Methods inherited from class org.jmol.adapter.readers.xml.XmlReader
parseReaderXML, readAtomSetCollection, readAtomSetCollectionFromDOM, setKeepChars
 
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addJmolScript, addPrimitiveLatticeVector, addSites, checkLineForScript, checkLineForScript, clearLatticeParameters, discardLines, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilNonBlank, discardLinesUntilStartsWith, fillDataBlock, filterAtom, getElementSymbol, getStrings, getTokens, getTokens, getTokens, getTokensFloat, initialize, initialize, initializeCartesianToFractional, newAtomSet, parseFloat, parseFloat, parseFloat, parseInt, parseInt, parseInt, parseInt, parseToken, parseToken, parseToken, parseTokenNext, parseTrimmed, parseTrimmed, readLine, readLineTrimmed, setAtomCoord, setAtomCoord, setError, setFractionalCoordinates, setMOData, setSpaceGroupName, setSymmetryOperator, setUnitCell, setUnitCellItem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cmlImplementedAttributes

private java.lang.String[] cmlImplementedAttributes

atomCount

private int atomCount

atomArray

private Atom[] atomArray

bondCount

private int bondCount

bondArray

private Bond[] bondArray

tokenCount

private int tokenCount

tokens

java.lang.String[] tokens

nModules

private int nModules

moduleNestingLevel

private int moduleNestingLevel

haveMolecule

private boolean haveMolecule

localSpaceGroupName

private java.lang.String localSpaceGroupName

processing

private boolean processing

START

protected final int START
state constants

See Also:
Constant Field Values

CML

protected final int CML
state constants

See Also:
Constant Field Values

CRYSTAL

protected final int CRYSTAL
state constants

See Also:
Constant Field Values

CRYSTAL_SCALAR

protected final int CRYSTAL_SCALAR
state constants

See Also:
Constant Field Values

CRYSTAL_SYMMETRY

protected final int CRYSTAL_SYMMETRY
state constants

See Also:
Constant Field Values

CRYSTAL_SYMMETRY_TRANSFORM3

protected final int CRYSTAL_SYMMETRY_TRANSFORM3
state constants

See Also:
Constant Field Values

MOLECULE

protected final int MOLECULE
state constants

See Also:
Constant Field Values

MOLECULE_ATOM_ARRAY

protected final int MOLECULE_ATOM_ARRAY
state constants

See Also:
Constant Field Values

MOLECULE_ATOM

protected final int MOLECULE_ATOM
state constants

See Also:
Constant Field Values

MOLECULE_ATOM_SCALAR

protected final int MOLECULE_ATOM_SCALAR
state constants

See Also:
Constant Field Values

MOLECULE_BOND_ARRAY

protected final int MOLECULE_BOND_ARRAY
state constants

See Also:
Constant Field Values

MOLECULE_BOND

protected final int MOLECULE_BOND
state constants

See Also:
Constant Field Values

MOLECULE_FORMULA

protected final int MOLECULE_FORMULA
state constants

See Also:
Constant Field Values

MOLECULE_ATOM_BUILTIN

protected final int MOLECULE_ATOM_BUILTIN
state constants

See Also:
Constant Field Values

MOLECULE_BOND_BUILTIN

protected final int MOLECULE_BOND_BUILTIN
state constants

See Also:
Constant Field Values

MODULE

protected final int MODULE
state constants

See Also:
Constant Field Values

SYMMETRY

protected final int SYMMETRY
state constants

See Also:
Constant Field Values

LATTICE_VECTOR

protected final int LATTICE_VECTOR
state constants

See Also:
Constant Field Values

state

protected int state
the current state


scalarDictRef

private java.lang.String scalarDictRef

scalarDictValue

private java.lang.String scalarDictValue

scalarTitle

private java.lang.String scalarTitle

cellParameterType

private java.lang.String cellParameterType

moleculeNesting

private int moleculeNesting

latticeVectorPtr

private int latticeVectorPtr

embeddedCrystal

private boolean embeddedCrystal

atomIdNames

private java.util.Properties atomIdNames
Constructor Detail

XmlCmlReader

XmlCmlReader()

XmlCmlReader

XmlCmlReader(XmlReader parent,
             AtomSetCollection atomSetCollection,
             java.io.BufferedReader reader,
             org.xml.sax.XMLReader xmlReader)

XmlCmlReader

XmlCmlReader(XmlReader parent,
             AtomSetCollection atomSetCollection,
             netscape.javascript.JSObject DOMNode)
Method Detail

processStartElement

public void processStartElement(java.lang.String uri,
                                java.lang.String name,
                                java.lang.String qName,
                                java.util.HashMap atts)
Overrides:
processStartElement in class XmlReader

getDictRefValue

private void getDictRefValue(java.util.HashMap atts)

processEndElement

public void processEndElement(java.lang.String uri,
                              java.lang.String name,
                              java.lang.String qName)
Overrides:
processEndElement in class XmlReader

parseBondToken

int parseBondToken(java.lang.String str)

breakOutTokens

void breakOutTokens(java.lang.String str)

breakOutAtomTokens

void breakOutAtomTokens(java.lang.String str)

checkAtomArrayLength

void checkAtomArrayLength(int newAtomCount)

breakOutBondTokens

void breakOutBondTokens(java.lang.String str)

checkBondArrayLength

void checkBondArrayLength(int newBondCount)

createNewAtomSet

private void createNewAtomSet(java.util.HashMap atts)

applySymmetry

public void applySymmetry()
Overrides:
applySymmetry in class AtomSetCollectionReader