Class SmarterJmolAdapter

    • Field Detail

      • PATH_KEY

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

        public static final String PATH_SEPARATOR
    • Constructor Detail

      • SmarterJmolAdapter

        public SmarterJmolAdapter()
      • SmarterJmolAdapter

        public SmarterJmolAdapter​(String string)
    • Method Detail

      • getFileTypeName

        public String getFileTypeName​(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 Object getAtomSetCollectionReader​(String name,
                                                 String type,
                                                 Object bufferedReader,
                                                 Map<String,​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 Object staticGetAtomSetCollectionReader​(String name,
                                                              String type,
                                                              Object bufferedReader,
                                                              Map<String,​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
      • getAtomSetCollection

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

        public Object getAtomSetCollectionReaders​(JmolFilesReaderInterface filesReader,
                                                  String[] names,
                                                  String[] types,
                                                  Map<String,​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 Object getAtomSetCollectionFromSet​(Object readerSet,
                                                  Object atomsets,
                                                  Map<String,​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 Object getAtomSetCollectionFromDOM​(Object DOMNode,
                                                  Map<String,​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
      • getAtomSetCollectionName

        public String getAtomSetCollectionName​(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 Map<String,​Object> getAtomSetCollectionAuxiliaryInfo​(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​(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​(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 String getAtomSetName​(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 Map<String,​Object> getAtomSetAuxiliaryInfo​(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​(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
      • getAtomCount

        public int getAtomCount​(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​(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​(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