Class XmlCmlReader

  • All Implemented Interfaces:
    javajs.api.GenericLineReader
    Direct Known Subclasses:
    XmlMOReader

    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() applySymmetryAndSetTrajectory() "isotope" added 4/6/2009 Bob Hanson
    • Field Detail

      • scalarDictRef

        private java.lang.String scalarDictRef
      • scalarDictValue

        private java.lang.String scalarDictValue
      • scalarTitle

        private java.lang.String scalarTitle
      • cellParameterType

        private java.lang.String cellParameterType
      • checkedSerial

        private boolean checkedSerial
      • isSerial

        private boolean isSerial
      • moleculeNesting

        private int moleculeNesting
      • latticeVectorPtr

        private int latticeVectorPtr
      • embeddedCrystal

        private boolean embeddedCrystal
      • atomIdNames

        private java.util.Properties atomIdNames
      • tokens

        protected java.lang.String[] tokens
      • aaLen

        private int aaLen
      • atomArray

        private Atom[] atomArray
      • bondCount

        private int bondCount
      • bondArray

        private Bond[] bondArray
      • tokenCount

        private int tokenCount
      • moduleNestingLevel

        private int moduleNestingLevel
      • haveMolecule

        private boolean haveMolecule
      • localSpaceGroupName

        private java.lang.String localSpaceGroupName
      • processing

        protected boolean processing
      • state

        protected int state
      • atomIndex0

        private int atomIndex0
      • joinList

        private javajs.util.Lst<java.lang.String[]> joinList
      • mapRtoA

        private java.util.Map<Atom,​java.lang.String> mapRtoA
      • deleteAtoms

        private BS deleteAtoms
      • moleculeID

        protected java.lang.String moleculeID
      • htModelAtomMap

        protected java.util.Map<java.lang.String,​java.lang.Object> htModelAtomMap
      • is2d

        private boolean is2d
      • CRYSTAL_SCALAR

        protected static final int CRYSTAL_SCALAR
        state constants
        See Also:
        Constant Field Values
      • CRYSTAL_SYMMETRY

        protected static final int CRYSTAL_SYMMETRY
        state constants
        See Also:
        Constant Field Values
      • CRYSTAL_SYMMETRY_TRANSFORM3

        protected static final int CRYSTAL_SYMMETRY_TRANSFORM3
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_ATOM_ARRAY

        protected static final int MOLECULE_ATOM_ARRAY
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_ATOM

        protected static final int MOLECULE_ATOM
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_ATOM_SCALAR

        protected static final int MOLECULE_ATOM_SCALAR
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_BOND_ARRAY

        protected static final int MOLECULE_BOND_ARRAY
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_BOND

        protected static final int MOLECULE_BOND
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_FORMULA

        protected static final int MOLECULE_FORMULA
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_ATOM_BUILTIN

        protected static final int MOLECULE_ATOM_BUILTIN
        state constants
        See Also:
        Constant Field Values
      • MOLECULE_BOND_BUILTIN

        protected static final int MOLECULE_BOND_BUILTIN
        state constants
        See Also:
        Constant Field Values
      • LATTICE_VECTOR

        protected static final int LATTICE_VECTOR
        state constants
        See Also:
        Constant Field Values
      • unitCellParamTags

        private static final java.lang.String[] unitCellParamTags
    • Constructor Detail

      • XmlCmlReader

        public XmlCmlReader()
    • Method Detail

      • processXml

        protected void processXml​(XmlReader parent,
                                  java.lang.Object saxReader)
                           throws java.lang.Exception
        the current state
        Overrides:
        processXml in class XmlReader
        Throws:
        java.lang.Exception
      • processStartElement

        public void processStartElement​(java.lang.String name,
                                        java.lang.String nodeName)
        Overrides:
        processStartElement in class XmlReader
        nodeName - TODO
      • processStart2

        protected void processStart2​(java.lang.String name)
      • getAtomIndex

        private int getAtomIndex​(java.lang.String label)
      • processEnd2

        public void processEnd2​(java.lang.String name)
      • addBond

        private void addBond​(Bond bond)
      • checkBondToR

        private boolean checkBondToR​(java.lang.String a1name,
                                     java.lang.String a2name)
        Checks to see if we have a bond to R and, if so, adds this R atom as a key to its attached atom
        Parameters:
        a1name -
        a2name -
        Returns:
        true if handled so no need to add a bond
      • setAtomNames

        private void setAtomNames()
      • addNewBond

        private void addNewBond​(java.lang.String a1,
                                java.lang.String a2,
                                int order)
      • fixSerialName

        private java.lang.String fixSerialName​(java.lang.String a)
      • getDictRefValue

        private void getDictRefValue()
      • checkUnitCellItem

        private void checkUnitCellItem​(java.lang.String[] tags,
                                       java.lang.String value)
      • addAtom

        private void addAtom​(Atom atom)
      • parseBondToken

        private int parseBondToken​(java.lang.String str)
      • breakOutTokens

        private 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()