Package org.jmol.viewer
Class PropertyManager
- java.lang.Object
-
- org.jmol.viewer.PropertyManager
-
- All Implemented Interfaces:
JmolPropertyManager
public class PropertyManager extends 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 String
atomExpression
private Map<String,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_CIF_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_MODELKIT_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 String[]
propertyTypes
private static 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
checkKey(String k, String key, String lckey)
private String
checkMap(Map<String,?> h, String key, boolean isWild, javajs.util.Lst<Object> v2, Object args, int ptr, boolean isCaseSensitive)
boolean
checkPropertyParameter(String name)
private Object
compileSelect(SV[] args)
Object
extractProperty(Object prop, Object args, int ptr, javajs.util.Lst<Object> v2, boolean isCompiled)
String
fixJMEFormalCharges(javajs.util.BS bsAtoms, String jme)
Fix a JME string returned from NCI CIR to have the proper formal charges.private int
fixPDBFormat(javajs.util.Lst<String> lines, Map<String,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 String
fixSelectQuotes(String propertyName)
javajs.util.Lst<Map<String,Object>>
getAllAtomInfo(javajs.util.BS bs)
javajs.util.Lst<Map<String,Object>>
getAllBondInfo(Object bsOrArray)
Map<String,javajs.util.Lst<Map<String,Object>>>
getAllChainInfo(javajs.util.BS bs)
private Map<String,javajs.util.Lst<Map<String,Object>>>
getAllPolymerInfo(javajs.util.BS bs)
private Map<String,Object>
getAnimationInfo()
private SV
getAnnotationInfo(Object atomExpression, int type)
private Map<String,Object>
getAppletInfo()
private SV[]
getArguments(String propertyName)
String
getAtomData(String atomExpression, String type, boolean allTrajectories)
use lower case to indicate coord data only (xyz, xyzrn, xyzvib, pdb.private Map<String,Object>
getAtomInfoLong(int i, javajs.util.P3 ptTemp)
private static void
getAtomResidueInfo(javajs.util.SB info, Atom atom)
private String
getBasePairInfo(javajs.util.BS bs)
private Map<String,Object>
getBondInfo(int i, javajs.util.P3 ptTemp)
private Map<String,Object>
getBoundBoxInfo()
private javajs.util.Lst<Map<String,javajs.util.Lst<Map<String,Object>>>>
getChainInfo(int modelIndex, javajs.util.BS bs)
String
getChimeInfo(int tok, javajs.util.BS bs)
private String
getChimeInfoA(Atom[] atoms, int tok, javajs.util.BS bs)
private static javajs.util.BS
getCovalentBondsForAtoms(Bond[] bonds, int bondCount, javajs.util.BS bsAtoms)
String
getDefaultPropertyParam(int propID)
(package private) static Object
getFileInfo(Object objHeader, String type)
private Object
getImage(String params, boolean asBytes)
private javajs.util.Lst<String>
getKeys(String select)
Map<String,Object>
getLigandInfo(Object atomExpression)
private static void
getMapSubset(Map<String,?> h, String key, Map<String,Object> h2, javajs.util.Lst<Object> v2)
private javajs.util.Lst<Map<String,Object>>
getMeasurementInfo()
private String
getModelCif(javajs.util.BS bs)
just a very primitive CIF file readerString
getModelCml(javajs.util.BS bs, int atomsMax, boolean addBonds, boolean doTransform, boolean allTrajectories)
String
getModelExtract(javajs.util.BS bs, boolean doTransform, boolean isModelKit, String type, boolean allTrajectories)
V3000, SDF, MOL, JSON, CD, XYZ, XYZVIB, XYZRN, CML, PDB, PQR, QCJSON MOL67 is MOL with bonds of type 6 or 7 (aromatic single/double)String
getModelFileInfo(javajs.util.BS frames)
Map<String,Object>
getModelInfo(Object atomExpression)
javajs.util.Lst<Map<String,Object>>
getMoleculeInfo(Object atomExpression)
private Object
getMouseInfo()
private static String
getParamType(int propID)
String
getPdbAtomData(javajs.util.BS bs, javajs.util.OC out, boolean isPQR, boolean doTransform, boolean allTrajectories)
PDB or PQR onlyString
getPdbData(int modelIndex, String type, javajs.util.BS bsSelected, Object[] parameters, javajs.util.OC out, boolean addStructure)
static void
getPointTransf(int i, ModelSet ms, Atom a, javajs.util.Quat q, javajs.util.P3 pTemp)
pick up the appropriate value for this atomObject
getProperty(String returnType, String infoType, Object paramInfo)
private Object
getPropertyAsObject(String infoType, Object paramInfo, String returnType)
private static String
getPropertyName(int propID)
int
getPropertyNumber(String infoType)
private String
getQCJSON(javajs.util.BS bs)
EXPERIMENTAL create a QCJSON file -- very preliminaryprivate Map<String,Object>
getShapeInfo()
private Object
getVariables(String name)
private static boolean
isReadableAsString(String infoType)
private String
pdbKey(int np)
void
setViewer(Viewer vwr)
-
-
-
Field Detail
-
vwr
Viewer vwr
-
atomExpression
private static final String atomExpression
- See Also:
- Constant Field Values
-
propertyTypes
private static final 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_CIF_INFO
private static final int PROP_CIF_INFO
- See Also:
- Constant Field Values
-
PROP_MODELKIT_INFO
private static final int PROP_MODELKIT_INFO
- See Also:
- Constant Field Values
-
PROP_COUNT
private static final int PROP_COUNT
- See Also:
- Constant Field Values
-
readableTypes
private static final String[] readableTypes
-
-
Method Detail
-
setViewer
public void setViewer(Viewer vwr)
- Specified by:
setViewer
in interfaceJmolPropertyManager
-
getPropertyNumber
public int getPropertyNumber(String infoType)
- Specified by:
getPropertyNumber
in interfaceJmolPropertyManager
-
getDefaultPropertyParam
public String getDefaultPropertyParam(int propID)
- Specified by:
getDefaultPropertyParam
in interfaceJmolPropertyManager
-
checkPropertyParameter
public boolean checkPropertyParameter(String name)
- Specified by:
checkPropertyParameter
in interfaceJmolPropertyManager
-
getProperty
public Object getProperty(String returnType, String infoType, Object paramInfo)
- Specified by:
getProperty
in interfaceJmolPropertyManager
-
extractProperty
public Object extractProperty(Object prop, Object args, int ptr, javajs.util.Lst<Object> v2, boolean isCompiled)
- Specified by:
extractProperty
in interfaceJmolPropertyManager
-
getMapSubset
private static void getMapSubset(Map<String,?> h, String key, Map<String,Object> h2, javajs.util.Lst<Object> v2)
-
checkMap
private String checkMap(Map<String,?> h, String key, boolean isWild, javajs.util.Lst<Object> v2, Object args, int ptr, boolean isCaseSensitive)
-
getPropertyName
private static String getPropertyName(int propID)
-
getParamType
private static String getParamType(int propID)
-
isReadableAsString
private static boolean isReadableAsString(String infoType)
-
getPropertyAsObject
private Object getPropertyAsObject(String infoType, Object paramInfo, String returnType)
-
getModelInfo
public Map<String,Object> getModelInfo(Object atomExpression)
- Specified by:
getModelInfo
in interfaceJmolPropertyManager
-
getLigandInfo
public Map<String,Object> getLigandInfo(Object atomExpression)
- Specified by:
getLigandInfo
in interfaceJmolPropertyManager
-
getAtomData
public String getAtomData(String atomExpression, 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 String getModelExtract(javajs.util.BS bs, boolean doTransform, boolean isModelKit, String type, boolean allTrajectories)
V3000, SDF, MOL, JSON, CD, XYZ, XYZVIB, XYZRN, CML, PDB, PQR, QCJSON MOL67 is MOL with bonds of type 6 or 7 (aromatic single/double)- Specified by:
getModelExtract
in interfaceJmolPropertyManager
-
getQCJSON
private String getQCJSON(javajs.util.BS bs)
EXPERIMENTAL create a QCJSON file -- very preliminary- Parameters:
bs
- ignored- Returns:
- JSON string
-
getModelCif
private String getModelCif(javajs.util.BS bs)
just a very primitive CIF file reader- Parameters:
bs
-- Returns:
- CIf data
-
getCovalentBondsForAtoms
private static javajs.util.BS getCovalentBondsForAtoms(Bond[] bonds, int bondCount, javajs.util.BS bsAtoms)
-
getPointTransf
public static 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
-
-
getChimeInfo
public String getChimeInfo(int tok, javajs.util.BS bs)
- Specified by:
getChimeInfo
in interfaceJmolPropertyManager
-
getModelFileInfo
public String getModelFileInfo(javajs.util.BS frames)
- Specified by:
getModelFileInfo
in interfaceJmolPropertyManager
-
getAllChainInfo
public Map<String,javajs.util.Lst<Map<String,Object>>> getAllChainInfo(javajs.util.BS bs)
-
getChainInfo
private javajs.util.Lst<Map<String,javajs.util.Lst<Map<String,Object>>>> getChainInfo(int modelIndex, javajs.util.BS bs)
-
getAllPolymerInfo
private Map<String,javajs.util.Lst<Map<String,Object>>> getAllPolymerInfo(javajs.util.BS bs)
-
getBasePairInfo
private String getBasePairInfo(javajs.util.BS bs)
-
getAtomResidueInfo
private static void getAtomResidueInfo(javajs.util.SB info, Atom atom)
-
getMouseInfo
private Object getMouseInfo()
-
getPdbAtomData
public String getPdbAtomData(javajs.util.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 String pdbKey(int np)
-
fixPDBFormat
private int fixPDBFormat(javajs.util.Lst<String> lines, Map<String,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 String getPdbData(int modelIndex, String type, javajs.util.BS bsSelected, Object[] parameters, javajs.util.OC out, boolean addStructure)
- Specified by:
getPdbData
in interfaceJmolPropertyManager
-
getModelCml
public String getModelCml(javajs.util.BS bs, int atomsMax, boolean addBonds, boolean doTransform, boolean allTrajectories)
- Specified by:
getModelCml
in interfaceJmolPropertyManager
-
fixJMEFormalCharges
public String fixJMEFormalCharges(javajs.util.BS bsAtoms, String jme)
Fix a JME string returned from NCI CIR to have the proper formal charges.- Specified by:
fixJMEFormalCharges
in interfaceJmolPropertyManager
-
-