Package org.jmol.adapter.readers.xml
Class XmlCmlReader
- java.lang.Object
-
- org.jmol.adapter.smarter.AtomSetCollectionReader
-
- org.jmol.adapter.readers.xml.XmlReader
-
- org.jmol.adapter.readers.xml.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 Summary
Fields Modifier and Type Field Description private intaaLenprotected static intASSOCIATIONstate constantsprivate Atom[]atomArrayprivate java.util.PropertiesatomIdNamesprivate intatomIndex0private Bond[]bondArrayprivate intbondCountprivate java.lang.StringcellParameterTypeprivate booleancheckedSerialprotected static intCMLstate constantsprotected static intCRYSTALstate constantsprotected static intCRYSTAL_SCALARstate constantsprotected static intCRYSTAL_SYMMETRYstate constantsprotected static intCRYSTAL_SYMMETRY_TRANSFORM3state constantsprivate BSdeleteAtomsprivate booleanembeddedCrystalprivate booleanhaveMoleculeprotected java.util.Map<java.lang.String,java.lang.Object>htModelAtomMapprivate booleanis2dprivate booleanisSerialprivate javajs.util.Lst<java.lang.String[]>joinListprotected static intLATTICE_VECTORstate constantsprivate intlatticeVectorPtrprivate java.lang.StringlocalSpaceGroupNameprivate java.util.Map<Atom,java.lang.String>mapRtoAprotected static intMODULEstate constantsprivate intmoduleNestingLevelprotected static intMOLECULEstate constantsprotected static intMOLECULE_ATOMstate constantsprotected static intMOLECULE_ATOM_ARRAYstate constantsprotected static intMOLECULE_ATOM_BUILTINstate constantsprotected static intMOLECULE_ATOM_SCALARstate constantsprotected static intMOLECULE_BONDstate constantsprotected static intMOLECULE_BOND_ARRAYstate constantsprotected static intMOLECULE_BOND_BUILTINstate constantsprotected static intMOLECULE_FORMULAstate constantsprotected java.lang.StringmoleculeIDprivate intmoleculeNestingprotected booleanprocessingprivate java.lang.StringscalarDictRefprivate java.lang.StringscalarDictValueprivate java.lang.StringscalarTitleprotected static intSTARTstate constantsprotected intstateprotected static intSYMMETRYstate constantsprivate inttokenCountprotected java.lang.String[]tokensprivate static java.lang.String[]unitCellParamTags-
Fields inherited from class org.jmol.adapter.readers.xml.XmlReader
atom, atts, chars, keepChars, parent
-
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isSequential, isTrajectory, latticeCells, latticeScaling, line, lstNCS, matUnitCellOrientation, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
-
-
Constructor Summary
Constructors Constructor Description XmlCmlReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddAtom(Atom atom)private voidaddBond(Bond bond)private voidaddNewBond(java.lang.String a1, java.lang.String a2, int order)voidapplySymmetryAndSetTrajectory()(package private) voidbreakOutAtomTokens(java.lang.String str)(package private) voidbreakOutBondTokens(java.lang.String str)private voidbreakOutTokens(java.lang.String str)(package private) voidcheckAtomArrayLength(int newAtomCount)(package private) voidcheckBondArrayLength(int newBondCount)private booleancheckBondToR(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 atomprivate voidcheckUnitCellItem(java.lang.String[] tags, java.lang.String value)private voidcreateNewAtomSet()voidendDocument()private java.lang.StringfixSerialName(java.lang.String a)private intgetAtomIndex(java.lang.String label)private voidgetDictRefValue()private intparseBondToken(java.lang.String str)voidprocessEnd2(java.lang.String name)(package private) voidprocessEndElement(java.lang.String name)protected voidprocessStart2(java.lang.String name)voidprocessStartElement(java.lang.String name, java.lang.String nodeName)protected voidprocessXml(XmlReader parent, java.lang.Object saxReader)the current stateprivate voidsetAtomNames()-
Methods inherited from class org.jmol.adapter.readers.xml.XmlReader
createDomNodeJS, initCML, initializeReader, processDOM, processXml2, setKeepChars
-
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addAtomXYZSymName, addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, doPreSymmetry, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassReader, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setup, setupASCR
-
-
-
-
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
-
START
protected static final int START
state constants- See Also:
- Constant Field Values
-
CML
protected static final int CML
state constants- See Also:
- Constant Field Values
-
CRYSTAL
protected static final int CRYSTAL
state constants- See Also:
- Constant Field Values
-
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
protected static final int MOLECULE
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
-
MODULE
protected static final int MODULE
state constants- See Also:
- Constant Field Values
-
SYMMETRY
protected static final int SYMMETRY
state constants- See Also:
- Constant Field Values
-
LATTICE_VECTOR
protected static final int LATTICE_VECTOR
state constants- See Also:
- Constant Field Values
-
ASSOCIATION
protected static final int ASSOCIATION
state constants- See Also:
- Constant Field Values
-
unitCellParamTags
private static final java.lang.String[] unitCellParamTags
-
-
Method Detail
-
processXml
protected void processXml(XmlReader parent, java.lang.Object saxReader) throws java.lang.Exception
the current state- Overrides:
processXmlin classXmlReader- Throws:
java.lang.Exception
-
processStartElement
public void processStartElement(java.lang.String name, java.lang.String nodeName)- Overrides:
processStartElementin classXmlReadernodeName- TODO
-
processStart2
protected void processStart2(java.lang.String name)
-
getAtomIndex
private int getAtomIndex(java.lang.String label)
-
processEndElement
void processEndElement(java.lang.String name)
- Overrides:
processEndElementin classXmlReader
-
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()
-
applySymmetryAndSetTrajectory
public void applySymmetryAndSetTrajectory()
- Overrides:
applySymmetryAndSetTrajectoryin classXmlReader
-
endDocument
public void endDocument()
- Overrides:
endDocumentin classXmlReader
-
-