Class 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
    • Constructor Summary

      Constructors 
      Constructor Description
      PropertyManager()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) static void appendTag​(javajs.util.SB sb, java.lang.String name, java.lang.String[] attributes)  
      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)  
      (package private) static void closeTag​(javajs.util.SB sb, java.lang.String name)  
      private SV[] 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)  
      java.lang.String fixJMEFormalCharges​(javajs.util.BS bsAtoms, java.lang.String jme)
      Fix a JME string returned from NCI CIR to have the proper formal charges.
      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​(javajs.util.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​(javajs.util.BS bs)  
      private java.util.Map<java.lang.String,​javajs.util.Lst<java.util.Map<java.lang.String,​java.lang.Object>>> getAllPolymerInfo​(javajs.util.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 static void getAtomResidueInfo​(javajs.util.SB info, Atom atom)  
      private java.lang.String getBasePairInfo​(javajs.util.BS bs)  
      private java.util.Map<java.lang.String,​java.lang.Object> getBondInfo​(int i, javajs.util.P3 ptTemp)  
      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, javajs.util.BS bs)  
      java.lang.String getChimeInfo​(int tok, javajs.util.BS bs)  
      private java.lang.String getChimeInfoA​(Atom[] atoms, int tok, javajs.util.BS bs)  
      private static javajs.util.BS getCovalentBondsForAtoms​(Bond[] bonds, int bondCount, javajs.util.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​(javajs.util.BS bs)
      just a very primitive CIF file reader
      java.lang.String getModelCml​(javajs.util.BS bs, int atomsMax, boolean addBonds, boolean doTransform, boolean allTrajectories)  
      java.lang.String getModelExtract​(javajs.util.BS bs, boolean doTransform, boolean isModelKit, java.lang.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)
      java.lang.String getModelFileInfo​(javajs.util.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​(javajs.util.BS bs, javajs.util.OC out, boolean isPQR, boolean doTransform, boolean allTrajectories)
      PDB or PQR only
      java.lang.String getPdbData​(int modelIndex, java.lang.String type, javajs.util.BS bsSelected, java.lang.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 atom
      java.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.lang.String getQCJSON​(javajs.util.BS bs)
      EXPERIMENTAL create a QCJSON file -- very preliminary
      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)  
      (package private) static void openTag​(javajs.util.SB sb, java.lang.String name)  
      private java.lang.String pdbKey​(int np)  
      void setViewer​(Viewer vwr)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PropertyManager

        public PropertyManager()
    • Method Detail

      • getProperty

        public java.lang.Object getProperty​(java.lang.String returnType,
                                            java.lang.String infoType,
                                            java.lang.Object paramInfo)
        Specified by:
        getProperty in interface JmolPropertyManager
      • 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 interface JmolPropertyManager
      • 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 SV[] 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 interface JmolPropertyManager
      • getLigandInfo

        public java.util.Map<java.lang.String,​java.lang.Object> getLigandInfo​(java.lang.Object atomExpression)
        Specified by:
        getLigandInfo in interface JmolPropertyManager
      • 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 interface JmolPropertyManager
      • getModelExtract

        public java.lang.String getModelExtract​(javajs.util.BS bs,
                                                boolean doTransform,
                                                boolean isModelKit,
                                                java.lang.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 interface JmolPropertyManager
      • getQCJSON

        private java.lang.String getQCJSON​(javajs.util.BS bs)
        EXPERIMENTAL create a QCJSON file -- very preliminary
        Parameters:
        bs - ignored
        Returns:
        JSON string
      • getModelCif

        private java.lang.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 -
      • getChimeInfoA

        private java.lang.String getChimeInfoA​(Atom[] atoms,
                                               int tok,
                                               javajs.util.BS bs)
      • getAllAtomInfo

        public javajs.util.Lst<java.util.Map<java.lang.String,​java.lang.Object>> getAllAtomInfo​(javajs.util.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​(javajs.util.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,
                                                                                                                                                            javajs.util.BS bs)
      • getAllPolymerInfo

        private java.util.Map<java.lang.String,​javajs.util.Lst<java.util.Map<java.lang.String,​java.lang.Object>>> getAllPolymerInfo​(javajs.util.BS bs)
      • getBasePairInfo

        private java.lang.String getBasePairInfo​(javajs.util.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​(javajs.util.BS bs,
                                               javajs.util.OC out,
                                               boolean isPQR,
                                               boolean doTransform,
                                               boolean allTrajectories)
        PDB or PQR only
        Specified by:
        getPdbAtomData in interface JmolPropertyManager
        Parameters:
        bs - selected atoms
        out - 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,
                                           javajs.util.BS bsSelected,
                                           java.lang.Object[] parameters,
                                           javajs.util.OC out,
                                           boolean addStructure)
        Specified by:
        getPdbData in interface JmolPropertyManager
      • getModelCml

        public java.lang.String getModelCml​(javajs.util.BS bs,
                                            int atomsMax,
                                            boolean addBonds,
                                            boolean doTransform,
                                            boolean allTrajectories)
        Specified by:
        getModelCml in interface JmolPropertyManager
      • openTag

        static void openTag​(javajs.util.SB sb,
                            java.lang.String name)
      • appendTag

        static void appendTag​(javajs.util.SB sb,
                              java.lang.String name,
                              java.lang.String[] attributes)
      • closeTag

        static void closeTag​(javajs.util.SB sb,
                             java.lang.String name)
      • fixJMEFormalCharges

        public java.lang.String fixJMEFormalCharges​(javajs.util.BS bsAtoms,
                                                    java.lang.String jme)
        Fix a JME string returned from NCI CIR to have the proper formal charges.
        Specified by:
        fixJMEFormalCharges in interface JmolPropertyManager