Class SmarterJmolAdapter

    • Field Detail

      • PATH_KEY

        public static final java.lang.String PATH_KEY
        AtomSetCollectionReader.readData() will close any BufferedReader
        See Also:
        Constant Field Values
      • PATH_SEPARATOR

        public static final java.lang.String PATH_SEPARATOR
    • Constructor Detail

      • SmarterJmolAdapter

        public SmarterJmolAdapter()
    • Method Detail

      • getFileTypeName

        public java.lang.String getFileTypeName​(java.lang.Object ascOrReader)
        Just get the resolved file type; if a file, does NOT close the reader
        Specified by:
        getFileTypeName in class JmolAdapter
        Parameters:
        ascOrReader -
        Returns:
        a file type or null
      • getAtomSetCollectionReader

        public java.lang.Object getAtomSetCollectionReader​(java.lang.String name,
                                                           java.lang.String type,
                                                           java.lang.Object bufferedReader,
                                                           java.util.Map<java.lang.String,​java.lang.Object> htParams)
        Description copied from class: JmolAdapter
        Read an atomSetCollection object from a bufferedReader and close the reader.

        Given the BufferedReader, return an object which represents the file contents. The parameter name is assumed to be the file name or URL which is the source of reader. Note that this 'file' may have been automatically decompressed. Also note that the name may be 'String', representing a string constant. Therefore, few assumptions should be made about the name parameter. The return value is an object which represents a atomSetCollection. This atomSetCollection will be passed back in to other methods. If the return value is instanceof String then it is considered an error condition and the returned String is the error message.

        Specified by:
        getAtomSetCollectionReader in class JmolAdapter
        Parameters:
        name - File name, String or URL acting as the source of the reader
        type - File type, if known, or null
        bufferedReader - The BufferedReader
        htParams - a hash table containing parameter information
        Returns:
        The atomSetCollection or String with an error message
      • staticGetAtomSetCollectionReader

        public static java.lang.Object staticGetAtomSetCollectionReader​(java.lang.String name,
                                                                        java.lang.String type,
                                                                        java.lang.Object bufferedReader,
                                                                        java.util.Map<java.lang.String,​java.lang.Object> htParams)
        The primary file or string reader -- returns just the reader now
        Parameters:
        name -
        type -
        bufferedReader -
        htParams -
        Returns:
        an AtomSetCollectionReader or an error string
      • getAtomSetCollectionFromReader

        public java.lang.Object getAtomSetCollectionFromReader​(java.lang.String fname,
                                                               java.lang.Object readerOrDocument,
                                                               java.util.Map<java.lang.String,​java.lang.Object> htParams)
                                                        throws java.lang.Exception
        Specified by:
        getAtomSetCollectionFromReader in class JmolAdapter
        Throws:
        java.lang.Exception
      • getAtomSetCollection

        public java.lang.Object getAtomSetCollection​(java.lang.Object ascReader)
        Create the AtomSetCollection and return it
        Specified by:
        getAtomSetCollection in class JmolAdapter
        Parameters:
        ascReader -
        Returns:
        an AtomSetCollection or an error string
      • staticGetAtomSetCollection

        public static java.lang.Object staticGetAtomSetCollection​(AtomSetCollectionReader a)
      • getAtomSetCollectionReaders

        public java.lang.Object getAtomSetCollectionReaders​(JmolFilesReaderInterface filesReader,
                                                            java.lang.String[] names,
                                                            java.lang.String[] types,
                                                            java.util.Map<java.lang.String,​java.lang.Object> htParams,
                                                            boolean getReadersOnly)
        primary for String[] or File[] reading -- two options are implemented --- return a set of simultaneously open readers, or return one single collection using a single reader
        Specified by:
        getAtomSetCollectionReaders in class JmolAdapter
        Parameters:
        filesReader -
        names -
        types -
        htParams -
        getReadersOnly - TRUE for a set of readers; FALSE for one asc
        Returns:
        a set of AtomSetCollectionReaders, a single AtomSetCollection, or an error string
      • getAtomSetCollectionFromSet

        public java.lang.Object getAtomSetCollectionFromSet​(java.lang.Object readerSet,
                                                            java.lang.Object atomsets,
                                                            java.util.Map<java.lang.String,​java.lang.Object> htParams)
        needed to consolidate a set of models into one model; could start with AtomSetCollectionReader[] or with AtomSetCollection[]
        Specified by:
        getAtomSetCollectionFromSet in class JmolAdapter
        Parameters:
        readerSet -
        atomsets -
        htParams -
        Returns:
        a single AtomSetCollection or an error string
      • getAtomSetCollectionFromDOM

        public java.lang.Object getAtomSetCollectionFromDOM​(java.lang.Object DOMNode,
                                                            java.util.Map<java.lang.String,​java.lang.Object> htParams)
        Direct DOM HTML4 page reading; Egon was interested in this at one point.
        Specified by:
        getAtomSetCollectionFromDOM in class JmolAdapter
        Parameters:
        DOMNode -
        htParams -
        Returns:
        a single AtomSetCollection or an error string
      • finish

        public void finish​(java.lang.Object asc)
        Specified by:
        finish in class JmolAdapter
      • getAtomSetCollectionName

        public java.lang.String getAtomSetCollectionName​(java.lang.Object asc)
        Description copied from class: JmolAdapter
        Get the name of the atom set collection, if known.

        Some file formats contain a formal name of the molecule in the file. If this method returns null then the JmolViewer will automatically supply the file/URL name as a default.

        Specified by:
        getAtomSetCollectionName in class JmolAdapter
        Returns:
        The atom set collection name or null
      • getAtomSetCollectionAuxiliaryInfo

        public java.util.Map<java.lang.String,​java.lang.Object> getAtomSetCollectionAuxiliaryInfo​(java.lang.Object asc)
        Description copied from class: JmolAdapter
        Get the auxiliary information for this atomSetCollection.

        Via the smarterJmolAdapter

        Specified by:
        getAtomSetCollectionAuxiliaryInfo in class JmolAdapter
        Parameters:
        asc - The client file
        Returns:
        The auxiliaryInfo Hashtable that may be available for particular filetypes for this atomSetCollection or null
      • getAtomSetCount

        public int getAtomSetCount​(java.lang.Object asc)
        Description copied from class: JmolAdapter
        Get number of atomSets in the file.

        NOTE WARNING:
        Not yet implemented everywhere, it is in the smarterJmolAdapter

        Specified by:
        getAtomSetCount in class JmolAdapter
        Parameters:
        asc - The client file
        Returns:
        The number of atomSets in the file
      • getAtomSetNumber

        public int getAtomSetNumber​(java.lang.Object asc,
                                    int atomSetIndex)
        Description copied from class: JmolAdapter
        Get the number identifying each atomSet.

        For a PDB file, this is is the model number. For others it is a 1-based atomSet number.

        Note that this is not currently implemented in PdbReader

        Specified by:
        getAtomSetNumber in class JmolAdapter
        Parameters:
        asc - The client file
        atomSetIndex - The atom set's index for which to get the atom set number
        Returns:
        The number identifying each atom set.
      • getAtomSetName

        public java.lang.String getAtomSetName​(java.lang.Object asc,
                                               int atomSetIndex)
        Description copied from class: JmolAdapter
        Get the name of an atomSet.
        Specified by:
        getAtomSetName in class JmolAdapter
        Parameters:
        asc - The client file
        atomSetIndex - The atom set index
        Returns:
        The name of the atom set, default the string representation of atomSetIndex
      • getAtomSetAuxiliaryInfo

        public java.util.Map<java.lang.String,​java.lang.Object> getAtomSetAuxiliaryInfo​(java.lang.Object asc,
                                                                                              int atomSetIndex)
        Description copied from class: JmolAdapter
        Get the auxiliary information for a particular atomSet.

        Via the smarterJmolAdapter

        Specified by:
        getAtomSetAuxiliaryInfo in class JmolAdapter
        Parameters:
        asc - The client file
        atomSetIndex - The atom set index
        Returns:
        The auxiliaryInfo Hashtable that may be available for particular filetypes for this atomSet or null
      • getHydrogenAtomCount

        public int getHydrogenAtomCount​(java.lang.Object asc)
        Description copied from class: JmolAdapter
        Get the hydrogen atom count -- for ligand files
        Specified by:
        getHydrogenAtomCount in class JmolAdapter
        Returns:
        number of hydrogen atoms in this model
      • getBondList

        public java.lang.String[][] getBondList​(java.lang.Object asc)
        Specified by:
        getBondList in class JmolAdapter
        Returns:
        [ [atomName1 atomName2 order] ...]
      • getAtomCount

        public int getAtomCount​(java.lang.Object asc)
        Description copied from class: JmolAdapter
        Get the estimated number of atoms contained in the file.

        Just return -1 if you don't know (or don't want to figure it out)

        Specified by:
        getAtomCount in class JmolAdapter
        Parameters:
        asc - The client file
        Returns:
        The estimated number of atoms in the file
      • coordinatesAreFractional

        public boolean coordinatesAreFractional​(java.lang.Object asc)
        Description copied from class: JmolAdapter
        Get the boolean whether coordinates are fractional.
        Specified by:
        coordinatesAreFractional in class JmolAdapter
        Parameters:
        asc - The client file
        Returns:
        true if the coordinates are fractional, default false
      • getBondIterator

        public JmolAdapterBondIterator getBondIterator​(java.lang.Object asc)
        Description copied from class: JmolAdapter
        Get a BondIterator for retrieval of all bonds in the file.

        If this method returns null and no bonds are defined then the JmolViewer will automatically apply its rebonding code to build bonds between atoms.

        Specified by:
        getBondIterator in class JmolAdapter
        Parameters:
        asc - The client file
        Returns:
        A BondIterator or null
        See Also:
        JmolAdapterBondIterator
      • close

        public static void close​(java.lang.Object bufferedReader)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • getFileTypefromFilter

        public static java.lang.String getFileTypefromFilter​(java.lang.String filter)