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.String
atomExpression
private java.util.Map<java.lang.String,java.lang.Integer>
map
private static int
PROP_ANIMATION_INFO
private static int
PROP_APPLET_INFO
private static int
PROP_ATOM_INFO
private static int
PROP_AUXILIARY_INFO
private static int
PROP_BOND_INFO
private static int
PROP_BOUNDBOX_INFO
private static int
PROP_CENTER_INFO
private static int
PROP_CHAIN_INFO
private static int
PROP_CONSOLE_TEXT
private static int
PROP_COUNT
private static int
PROP_DATA_INFO
private static int
PROP_DOM_INFO
private static int
PROP_ERROR_MESSAGE
private static int
PROP_EVALUATE
private static int
PROP_EXTRACT_MODEL
private static int
PROP_FILE_INFO
private static int
PROP_FILECONTENTS
private static int
PROP_FILECONTENTS_PATH
private static int
PROP_FILEHEADER
private static int
PROP_FILENAME
private static int
PROP_IMAGE
private static int
PROP_ISOSURFACE_DATA
private static int
PROP_ISOSURFACE_INFO
private static int
PROP_JMOL_STATUS
private static int
PROP_JMOL_VIEWER
private static int
PROP_JSPECVIEW
private static int
PROP_LIGAND_INFO
private static int
PROP_MEASUREMENT_INFO
private static int
PROP_MENU
private static int
PROP_MESSAGE_QUEUE
private static int
PROP_MINIMIZATION_INFO
private static int
PROP_MODEL_INFO
private static int
PROP_MOLECULE_INFO
private static int
PROP_MOUSE_INFO
private static int
PROP_NMR_INFO
private static int
PROP_ORIENTATION_INFO
private static int
PROP_POINTGROUP_INFO
private static int
PROP_POLYMER_INFO
private static int
PROP_SCRIPT_QUEUE_INFO
private static int
PROP_SERVICE
private static int
PROP_SHAPE_INFO
private static int
PROP_STATE_INFO
private static int
PROP_TRANSFORM_INFO
private static int
PROP_VAL_INFO
private static int
PROP_VAR_INFO
private static java.lang.String[]
propertyTypes
private static java.lang.String[]
readableTypes
(package private) Viewer
vwr
-
Constructor Summary
Constructors Constructor Description PropertyManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
addMolFile(int iModel, javajs.util.SB mol, BS bsAtoms, BS bsBonds, boolean asV3000, boolean asJSON, boolean noAromatic, javajs.util.Quat q)
private boolean
checkKey(java.lang.String k, java.lang.String key, java.lang.String lckey)
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)
boolean
checkPropertyParameter(java.lang.String name)
private java.lang.Object
compileSelect(SV[] args)
java.lang.Object
extractProperty(java.lang.Object prop, java.lang.Object args, int ptr, javajs.util.Lst<java.lang.Object> v2, boolean isCompiled)
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.private java.lang.String
fixSelectQuotes(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 SV
getAnnotationInfo(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.String
getAtomData(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 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)
private static void
getAtomResidueInfo(javajs.util.SB info, Atom atom)
private java.lang.String
getBasePairInfo(BS bs)
private java.util.Map<java.lang.String,java.lang.Object>
getBondInfo(int i, javajs.util.P3 ptTemp)
private void
getBondRecordMOL(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.String
getChimeInfo(int tok, BS bs)
private java.lang.String
getChimeInfoA(Atom[] atoms, int tok, BS bs)
private static BS
getCovalentBondsForAtoms(Bond[] bonds, int bondCount, BS bsAtoms)
java.lang.String
getDefaultPropertyParam(int propID)
(package private) static java.lang.Object
getFileInfo(java.lang.Object objHeader, java.lang.String type)
private java.lang.Object
getImage(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 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)
private javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>
getMeasurementInfo()
private java.lang.String
getModelCif(BS bs)
just a very primitive CIF file readerjava.lang.String
getModelCml(BS bs, int atomsMax, boolean addBonds, boolean doTransform, boolean allTrajectories)
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)java.lang.String
getModelFileInfo(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.Object
getMouseInfo()
private static java.lang.String
getParamType(int propID)
java.lang.String
getPdbAtomData(BS bs, javajs.util.OC out, boolean isPQR, boolean doTransform, boolean allTrajectories)
PDB or PQR onlyjava.lang.String
getPdbData(int modelIndex, java.lang.String type, BS bsSelected, java.lang.Object[] parameters, javajs.util.OC out, boolean addStructure)
private void
getPointTransf(int i, ModelSet ms, Atom a, javajs.util.Quat q, javajs.util.P3 pTemp)
pick up the appropriate value for this atomjava.lang.Object
getProperty(java.lang.String returnType, java.lang.String infoType, java.lang.Object paramInfo)
private java.lang.Object
getPropertyAsObject(java.lang.String infoType, java.lang.Object paramInfo, java.lang.String returnType)
private static java.lang.String
getPropertyName(int propID)
int
getPropertyNumber(java.lang.String infoType)
private java.util.Map<java.lang.String,java.lang.Object>
getShapeInfo()
private java.lang.Object
getVariables(java.lang.String name)
private static boolean
isReadableAsString(java.lang.String infoType)
private java.lang.String
pdbKey(int np)
void
setViewer(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:
setViewer
in interfaceJmolPropertyManager
-
getPropertyNumber
public int getPropertyNumber(java.lang.String infoType)
- Specified by:
getPropertyNumber
in interfaceJmolPropertyManager
-
getDefaultPropertyParam
public java.lang.String getDefaultPropertyParam(int propID)
- Specified by:
getDefaultPropertyParam
in interfaceJmolPropertyManager
-
checkPropertyParameter
public boolean checkPropertyParameter(java.lang.String name)
- Specified by:
checkPropertyParameter
in interfaceJmolPropertyManager
-
getProperty
public java.lang.Object getProperty(java.lang.String returnType, java.lang.String infoType, java.lang.Object paramInfo)
- Specified by:
getProperty
in 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:
extractProperty
in 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:
getModelInfo
in interfaceJmolPropertyManager
-
getLigandInfo
public java.util.Map<java.lang.String,java.lang.Object> getLigandInfo(java.lang.Object atomExpression)
- Specified by:
getLigandInfo
in 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:
getAtomData
in 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:
getModelExtract
in 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:
getChimeInfo
in interfaceJmolPropertyManager
-
getModelFileInfo
public java.lang.String getModelFileInfo(BS frames)
- Specified by:
getModelFileInfo
in 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:
getPdbAtomData
in 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:
getPdbData
in interfaceJmolPropertyManager
-
getModelCml
public java.lang.String getModelCml(BS bs, int atomsMax, boolean addBonds, boolean doTransform, boolean allTrajectories)
- Specified by:
getModelCml
in interfaceJmolPropertyManager
-
-