Package org.jmol.viewer
Class PropertyManager
- java.lang.Object
-
- org.jmol.viewer.PropertyManager
-
- All Implemented Interfaces:
JmolPropertyManager
public class PropertyManager extends java.lang.Object implements JmolPropertyManager
The PropertyManager handles all operations relating to delivery of properties with the getProperty() method, or its specifically cast forms getPropertyString() or getPropertyJSON(). It is instantiated by reflection
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringatomExpressionprivate java.util.Map<java.lang.String,java.lang.Integer>mapprivate static intPROP_ANIMATION_INFOprivate static intPROP_APPLET_INFOprivate static intPROP_ATOM_INFOprivate static intPROP_AUXILIARY_INFOprivate static intPROP_BOND_INFOprivate static intPROP_BOUNDBOX_INFOprivate static intPROP_CENTER_INFOprivate static intPROP_CHAIN_INFOprivate static intPROP_CONSOLE_TEXTprivate static intPROP_COUNTprivate static intPROP_DATA_INFOprivate static intPROP_DOM_INFOprivate static intPROP_ERROR_MESSAGEprivate static intPROP_EVALUATEprivate static intPROP_EXTRACT_MODELprivate static intPROP_FILE_INFOprivate static intPROP_FILECONTENTSprivate static intPROP_FILECONTENTS_PATHprivate static intPROP_FILEHEADERprivate static intPROP_FILENAMEprivate static intPROP_IMAGEprivate static intPROP_ISOSURFACE_DATAprivate static intPROP_ISOSURFACE_INFOprivate static intPROP_JMOL_STATUSprivate static intPROP_JMOL_VIEWERprivate static intPROP_JSPECVIEWprivate static intPROP_LIGAND_INFOprivate static intPROP_MEASUREMENT_INFOprivate static intPROP_MENUprivate static intPROP_MESSAGE_QUEUEprivate static intPROP_MINIMIZATION_INFOprivate static intPROP_MODEL_INFOprivate static intPROP_MOLECULE_INFOprivate static intPROP_MOUSE_INFOprivate static intPROP_NMR_INFOprivate static intPROP_ORIENTATION_INFOprivate static intPROP_POINTGROUP_INFOprivate static intPROP_POLYMER_INFOprivate static intPROP_SCRIPT_QUEUE_INFOprivate static intPROP_SERVICEprivate static intPROP_SHAPE_INFOprivate static intPROP_STATE_INFOprivate static intPROP_TRANSFORM_INFOprivate static intPROP_VAL_INFOprivate static intPROP_VAR_INFOprivate static java.lang.String[]propertyTypesprivate static java.lang.String[]readableTypes(package private) Viewervwr
-
Constructor Summary
Constructors Constructor Description PropertyManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleanaddMolFile(int iModel, javajs.util.SB mol, BS bsAtoms, BS bsBonds, boolean asV3000, boolean asJSON, boolean noAromatic, javajs.util.Quat q)private booleancheckKey(java.lang.String k, java.lang.String key, java.lang.String lckey)private java.lang.StringcheckMap(java.util.Map<java.lang.String,?> h, java.lang.String key, boolean isWild, javajs.util.Lst<java.lang.Object> v2, java.lang.Object args, int ptr, boolean isCaseSensitive)booleancheckPropertyParameter(java.lang.String name)private java.lang.ObjectcompileSelect(SV[] args)java.lang.ObjectextractProperty(java.lang.Object prop, java.lang.Object args, int ptr, javajs.util.Lst<java.lang.Object> v2, boolean isCompiled)private intfixPDBFormat(javajs.util.Lst<java.lang.String> lines, java.util.Map<java.lang.String,java.lang.Integer> map, javajs.util.OC out, int[] firstAtomIndexNew, int modelPt)must re-order by resno and then renumber atoms and add TER records based on BioPolymers note: 3hbt has a break between residues 39 and 51 with no TER record, but Jmol will put that in.private java.lang.StringfixSelectQuotes(java.lang.String propertyName)javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>getAllAtomInfo(BS bs)javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>getAllBondInfo(java.lang.Object bsOrArray)java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>>getAllChainInfo(BS bs)private java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>>getAllPolymerInfo(BS bs)private java.util.Map<java.lang.String,java.lang.Object>getAnimationInfo()private SVgetAnnotationInfo(java.lang.Object atomExpression, int type)private java.util.Map<java.lang.String,java.lang.Object>getAppletInfo()private SV[]getArguments(java.lang.String propertyName)java.lang.StringgetAtomData(java.lang.String atomExpression, java.lang.String type, boolean allTrajectories)use lower case to indicate coord data only (xyz, xyzrn, xyzvib, pdb.private java.util.Map<java.lang.String,java.lang.Object>getAtomInfoLong(int i, javajs.util.P3 ptTemp)private voidgetAtomRecordMOL(int iModel, ModelSet ms, javajs.util.SB mol, int n, Atom a, javajs.util.Quat q, javajs.util.P3 pTemp, boolean asV3000, boolean asJSON)private static voidgetAtomResidueInfo(javajs.util.SB info, Atom atom)private java.lang.StringgetBasePairInfo(BS bs)private java.util.Map<java.lang.String,java.lang.Object>getBondInfo(int i, javajs.util.P3 ptTemp)private voidgetBondRecordMOL(javajs.util.SB mol, int n, Bond b, int[] atomMap, boolean asV3000, boolean asJSON, boolean noAromatic)private java.util.Map<java.lang.String,java.lang.Object>getBoundBoxInfo()private javajs.util.Lst<java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>>>getChainInfo(int modelIndex, BS bs)java.lang.StringgetChimeInfo(int tok, BS bs)private java.lang.StringgetChimeInfoA(Atom[] atoms, int tok, BS bs)private static BSgetCovalentBondsForAtoms(Bond[] bonds, int bondCount, BS bsAtoms)java.lang.StringgetDefaultPropertyParam(int propID)(package private) static java.lang.ObjectgetFileInfo(java.lang.Object objHeader, java.lang.String type)private java.lang.ObjectgetImage(java.lang.String params, boolean asBytes)private javajs.util.Lst<java.lang.String>getKeys(java.lang.String select)java.util.Map<java.lang.String,java.lang.Object>getLigandInfo(java.lang.Object atomExpression)private static voidgetMapSubset(java.util.Map<java.lang.String,?> h, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> h2, javajs.util.Lst<java.lang.Object> v2)private javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>getMeasurementInfo()private java.lang.StringgetModelCif(BS bs)just a very primitive CIF file readerjava.lang.StringgetModelCml(BS bs, int atomsMax, boolean addBonds, boolean doTransform, boolean allTrajectories)java.lang.StringgetModelExtract(BS bs, boolean doTransform, boolean isModelKit, java.lang.String type, boolean allTrajectories)V3000, SDF, MOL, JSON, CD, XYZ, XYZVIB, XYZRN, CML, PDB, PQR, MOL67 is MOL with bonds of type 6 or 7 (aromatic single/double)java.lang.StringgetModelFileInfo(BS frames)java.util.Map<java.lang.String,java.lang.Object>getModelInfo(java.lang.Object atomExpression)javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>getMoleculeInfo(java.lang.Object atomExpression)private java.lang.ObjectgetMouseInfo()private static java.lang.StringgetParamType(int propID)java.lang.StringgetPdbAtomData(BS bs, javajs.util.OC out, boolean isPQR, boolean doTransform, boolean allTrajectories)PDB or PQR onlyjava.lang.StringgetPdbData(int modelIndex, java.lang.String type, BS bsSelected, java.lang.Object[] parameters, javajs.util.OC out, boolean addStructure)private voidgetPointTransf(int i, ModelSet ms, Atom a, javajs.util.Quat q, javajs.util.P3 pTemp)pick up the appropriate value for this atomjava.lang.ObjectgetProperty(java.lang.String returnType, java.lang.String infoType, java.lang.Object paramInfo)private java.lang.ObjectgetPropertyAsObject(java.lang.String infoType, java.lang.Object paramInfo, java.lang.String returnType)private static java.lang.StringgetPropertyName(int propID)intgetPropertyNumber(java.lang.String infoType)private java.util.Map<java.lang.String,java.lang.Object>getShapeInfo()private java.lang.ObjectgetVariables(java.lang.String name)private static booleanisReadableAsString(java.lang.String infoType)private java.lang.StringpdbKey(int np)voidsetViewer(Viewer vwr)
-
-
-
Field Detail
-
vwr
Viewer vwr
-
map
private java.util.Map<java.lang.String,java.lang.Integer> map
-
atomExpression
private static final java.lang.String atomExpression
- See Also:
- Constant Field Values
-
propertyTypes
private static final java.lang.String[] propertyTypes
-
PROP_APPLET_INFO
private static final int PROP_APPLET_INFO
- See Also:
- Constant Field Values
-
PROP_FILENAME
private static final int PROP_FILENAME
- See Also:
- Constant Field Values
-
PROP_FILEHEADER
private static final int PROP_FILEHEADER
- See Also:
- Constant Field Values
-
PROP_FILECONTENTS_PATH
private static final int PROP_FILECONTENTS_PATH
- See Also:
- Constant Field Values
-
PROP_FILECONTENTS
private static final int PROP_FILECONTENTS
- See Also:
- Constant Field Values
-
PROP_ANIMATION_INFO
private static final int PROP_ANIMATION_INFO
- See Also:
- Constant Field Values
-
PROP_MODEL_INFO
private static final int PROP_MODEL_INFO
- See Also:
- Constant Field Values
-
PROP_LIGAND_INFO
private static final int PROP_LIGAND_INFO
- See Also:
- Constant Field Values
-
PROP_SHAPE_INFO
private static final int PROP_SHAPE_INFO
- See Also:
- Constant Field Values
-
PROP_MEASUREMENT_INFO
private static final int PROP_MEASUREMENT_INFO
- See Also:
- Constant Field Values
-
PROP_CENTER_INFO
private static final int PROP_CENTER_INFO
- See Also:
- Constant Field Values
-
PROP_ORIENTATION_INFO
private static final int PROP_ORIENTATION_INFO
- See Also:
- Constant Field Values
-
PROP_TRANSFORM_INFO
private static final int PROP_TRANSFORM_INFO
- See Also:
- Constant Field Values
-
PROP_ATOM_INFO
private static final int PROP_ATOM_INFO
- See Also:
- Constant Field Values
-
PROP_BOND_INFO
private static final int PROP_BOND_INFO
- See Also:
- Constant Field Values
-
PROP_CHAIN_INFO
private static final int PROP_CHAIN_INFO
- See Also:
- Constant Field Values
-
PROP_POLYMER_INFO
private static final int PROP_POLYMER_INFO
- See Also:
- Constant Field Values
-
PROP_MOLECULE_INFO
private static final int PROP_MOLECULE_INFO
- See Also:
- Constant Field Values
-
PROP_STATE_INFO
private static final int PROP_STATE_INFO
- See Also:
- Constant Field Values
-
PROP_EXTRACT_MODEL
private static final int PROP_EXTRACT_MODEL
- See Also:
- Constant Field Values
-
PROP_JMOL_STATUS
private static final int PROP_JMOL_STATUS
- See Also:
- Constant Field Values
-
PROP_JMOL_VIEWER
private static final int PROP_JMOL_VIEWER
- See Also:
- Constant Field Values
-
PROP_MESSAGE_QUEUE
private static final int PROP_MESSAGE_QUEUE
- See Also:
- Constant Field Values
-
PROP_AUXILIARY_INFO
private static final int PROP_AUXILIARY_INFO
- See Also:
- Constant Field Values
-
PROP_BOUNDBOX_INFO
private static final int PROP_BOUNDBOX_INFO
- See Also:
- Constant Field Values
-
PROP_DATA_INFO
private static final int PROP_DATA_INFO
- See Also:
- Constant Field Values
-
PROP_IMAGE
private static final int PROP_IMAGE
- See Also:
- Constant Field Values
-
PROP_EVALUATE
private static final int PROP_EVALUATE
- See Also:
- Constant Field Values
-
PROP_MENU
private static final int PROP_MENU
- See Also:
- Constant Field Values
-
PROP_MINIMIZATION_INFO
private static final int PROP_MINIMIZATION_INFO
- See Also:
- Constant Field Values
-
PROP_POINTGROUP_INFO
private static final int PROP_POINTGROUP_INFO
- See Also:
- Constant Field Values
-
PROP_FILE_INFO
private static final int PROP_FILE_INFO
- See Also:
- Constant Field Values
-
PROP_ERROR_MESSAGE
private static final int PROP_ERROR_MESSAGE
- See Also:
- Constant Field Values
-
PROP_MOUSE_INFO
private static final int PROP_MOUSE_INFO
- See Also:
- Constant Field Values
-
PROP_ISOSURFACE_INFO
private static final int PROP_ISOSURFACE_INFO
- See Also:
- Constant Field Values
-
PROP_ISOSURFACE_DATA
private static final int PROP_ISOSURFACE_DATA
- See Also:
- Constant Field Values
-
PROP_CONSOLE_TEXT
private static final int PROP_CONSOLE_TEXT
- See Also:
- Constant Field Values
-
PROP_JSPECVIEW
private static final int PROP_JSPECVIEW
- See Also:
- Constant Field Values
-
PROP_SCRIPT_QUEUE_INFO
private static final int PROP_SCRIPT_QUEUE_INFO
- See Also:
- Constant Field Values
-
PROP_NMR_INFO
private static final int PROP_NMR_INFO
- See Also:
- Constant Field Values
-
PROP_VAR_INFO
private static final int PROP_VAR_INFO
- See Also:
- Constant Field Values
-
PROP_DOM_INFO
private static final int PROP_DOM_INFO
- See Also:
- Constant Field Values
-
PROP_VAL_INFO
private static final int PROP_VAL_INFO
- See Also:
- Constant Field Values
-
PROP_SERVICE
private static final int PROP_SERVICE
- See Also:
- Constant Field Values
-
PROP_COUNT
private static final int PROP_COUNT
- See Also:
- Constant Field Values
-
readableTypes
private static final java.lang.String[] readableTypes
-
-
Method Detail
-
setViewer
public void setViewer(Viewer vwr)
- Specified by:
setViewerin interfaceJmolPropertyManager
-
getPropertyNumber
public int getPropertyNumber(java.lang.String infoType)
- Specified by:
getPropertyNumberin interfaceJmolPropertyManager
-
getDefaultPropertyParam
public java.lang.String getDefaultPropertyParam(int propID)
- Specified by:
getDefaultPropertyParamin interfaceJmolPropertyManager
-
checkPropertyParameter
public boolean checkPropertyParameter(java.lang.String name)
- Specified by:
checkPropertyParameterin interfaceJmolPropertyManager
-
getProperty
public java.lang.Object getProperty(java.lang.String returnType, java.lang.String infoType, java.lang.Object paramInfo)- Specified by:
getPropertyin interfaceJmolPropertyManager
-
getArguments
private SV[] getArguments(java.lang.String propertyName)
-
fixSelectQuotes
private java.lang.String fixSelectQuotes(java.lang.String propertyName)
-
extractProperty
public java.lang.Object extractProperty(java.lang.Object prop, java.lang.Object args, int ptr, javajs.util.Lst<java.lang.Object> v2, boolean isCompiled)- Specified by:
extractPropertyin interfaceJmolPropertyManager
-
getMapSubset
private static void getMapSubset(java.util.Map<java.lang.String,?> h, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> h2, javajs.util.Lst<java.lang.Object> v2)
-
compileSelect
private java.lang.Object compileSelect(SV[] args)
-
getKeys
private javajs.util.Lst<java.lang.String> getKeys(java.lang.String select)
-
checkMap
private java.lang.String checkMap(java.util.Map<java.lang.String,?> h, java.lang.String key, boolean isWild, javajs.util.Lst<java.lang.Object> v2, java.lang.Object args, int ptr, boolean isCaseSensitive)
-
checkKey
private boolean checkKey(java.lang.String k, java.lang.String key, java.lang.String lckey)
-
getPropertyName
private static java.lang.String getPropertyName(int propID)
-
getParamType
private static java.lang.String getParamType(int propID)
-
isReadableAsString
private static boolean isReadableAsString(java.lang.String infoType)
-
getPropertyAsObject
private java.lang.Object getPropertyAsObject(java.lang.String infoType, java.lang.Object paramInfo, java.lang.String returnType)
-
getImage
private java.lang.Object getImage(java.lang.String params, boolean asBytes)
-
getVariables
private java.lang.Object getVariables(java.lang.String name)
-
getFileInfo
static java.lang.Object getFileInfo(java.lang.Object objHeader, java.lang.String type)
-
getMoleculeInfo
public javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>> getMoleculeInfo(java.lang.Object atomExpression)
-
getModelInfo
public java.util.Map<java.lang.String,java.lang.Object> getModelInfo(java.lang.Object atomExpression)
- Specified by:
getModelInfoin interfaceJmolPropertyManager
-
getLigandInfo
public java.util.Map<java.lang.String,java.lang.Object> getLigandInfo(java.lang.Object atomExpression)
- Specified by:
getLigandInfoin interfaceJmolPropertyManager
-
getAtomData
public java.lang.String getAtomData(java.lang.String atomExpression, java.lang.String type, boolean allTrajectories)use lower case to indicate coord data only (xyz, xyzrn, xyzvib, pdb. use USER: or PROPERTY_xxxx for a property all other types return full data- Specified by:
getAtomDatain interfaceJmolPropertyManager
-
getModelExtract
public java.lang.String getModelExtract(BS bs, boolean doTransform, boolean isModelKit, java.lang.String type, boolean allTrajectories)
V3000, SDF, MOL, JSON, CD, XYZ, XYZVIB, XYZRN, CML, PDB, PQR, MOL67 is MOL with bonds of type 6 or 7 (aromatic single/double)- Specified by:
getModelExtractin interfaceJmolPropertyManager
-
getModelCif
private java.lang.String getModelCif(BS bs)
just a very primitive CIF file reader- Parameters:
bs-- Returns:
- CIf data
-
addMolFile
private boolean addMolFile(int iModel, javajs.util.SB mol, BS bsAtoms, BS bsBonds, boolean asV3000, boolean asJSON, boolean noAromatic, javajs.util.Quat q)
-
getCovalentBondsForAtoms
private static BS getCovalentBondsForAtoms(Bond[] bonds, int bondCount, BS bsAtoms)
-
getAtomRecordMOL
private void getAtomRecordMOL(int iModel, ModelSet ms, javajs.util.SB mol, int n, Atom a, javajs.util.Quat q, javajs.util.P3 pTemp, boolean asV3000, boolean asJSON)
-
getPointTransf
private void getPointTransf(int i, ModelSet ms, Atom a, javajs.util.Quat q, javajs.util.P3 pTemp)pick up the appropriate value for this atom- Parameters:
i-ms-a-q-pTemp-
-
getBondRecordMOL
private void getBondRecordMOL(javajs.util.SB mol, int n, Bond b, int[] atomMap, boolean asV3000, boolean asJSON, boolean noAromatic)
-
getChimeInfo
public java.lang.String getChimeInfo(int tok, BS bs)- Specified by:
getChimeInfoin interfaceJmolPropertyManager
-
getModelFileInfo
public java.lang.String getModelFileInfo(BS frames)
- Specified by:
getModelFileInfoin interfaceJmolPropertyManager
-
getAllAtomInfo
public javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>> getAllAtomInfo(BS bs)
-
getAtomInfoLong
private java.util.Map<java.lang.String,java.lang.Object> getAtomInfoLong(int i, javajs.util.P3 ptTemp)
-
getAllBondInfo
public javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>> getAllBondInfo(java.lang.Object bsOrArray)
-
getBondInfo
private java.util.Map<java.lang.String,java.lang.Object> getBondInfo(int i, javajs.util.P3 ptTemp)
-
getAllChainInfo
public java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>> getAllChainInfo(BS bs)
-
getChainInfo
private javajs.util.Lst<java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>>> getChainInfo(int modelIndex, BS bs)
-
getAllPolymerInfo
private java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>> getAllPolymerInfo(BS bs)
-
getBasePairInfo
private java.lang.String getBasePairInfo(BS bs)
-
getAtomResidueInfo
private static void getAtomResidueInfo(javajs.util.SB info, Atom atom)
-
getAppletInfo
private java.util.Map<java.lang.String,java.lang.Object> getAppletInfo()
-
getAnimationInfo
private java.util.Map<java.lang.String,java.lang.Object> getAnimationInfo()
-
getBoundBoxInfo
private java.util.Map<java.lang.String,java.lang.Object> getBoundBoxInfo()
-
getShapeInfo
private java.util.Map<java.lang.String,java.lang.Object> getShapeInfo()
-
getAnnotationInfo
private SV getAnnotationInfo(java.lang.Object atomExpression, int type)
-
getMeasurementInfo
private javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>> getMeasurementInfo()
-
getMouseInfo
private java.lang.Object getMouseInfo()
-
getPdbAtomData
public java.lang.String getPdbAtomData(BS bs, javajs.util.OC out, boolean isPQR, boolean doTransform, boolean allTrajectories)
PDB or PQR only- Specified by:
getPdbAtomDatain interfaceJmolPropertyManager- Parameters:
bs- selected atomsout- StringXBuilder or BufferedWriter- Returns:
- PDB file data string
-
pdbKey
private java.lang.String pdbKey(int np)
-
fixPDBFormat
private int fixPDBFormat(javajs.util.Lst<java.lang.String> lines, java.util.Map<java.lang.String,java.lang.Integer> map, javajs.util.OC out, int[] firstAtomIndexNew, int modelPt)must re-order by resno and then renumber atoms and add TER records based on BioPolymers note: 3hbt has a break between residues 39 and 51 with no TER record, but Jmol will put that in.- Parameters:
lines-map-out-modelPt-firstAtomIndexNew-- Returns:
- new modelPt
-
getPdbData
public java.lang.String getPdbData(int modelIndex, java.lang.String type, BS bsSelected, java.lang.Object[] parameters, javajs.util.OC out, boolean addStructure)- Specified by:
getPdbDatain interfaceJmolPropertyManager
-
getModelCml
public java.lang.String getModelCml(BS bs, int atomsMax, boolean addBonds, boolean doTransform, boolean allTrajectories)
- Specified by:
getModelCmlin interfaceJmolPropertyManager
-
-