Package org.jmol.viewer
Class FileManager
java.lang.Object
org.jmol.viewer.FileManager
- All Implemented Interfaces:
BytePoster
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionint
cacheFileByNameAdd
(String fileName, boolean isAdd) static String
determineSurfaceFileType
(BufferedReader bufferedReader) Try to determine a surface file type based on its header.static String
fixDOSName
(String fileName) Switch \ for / only for DOS names such as C:\temp\t.xyz, not names like http://cactus.nci.nih.gov/chemical/structure/CC/C=C\CCgetBufferedInputStreamOrErrorMessageFromName
(String name, String fullName, boolean showMsg, boolean checkOnly, byte[] outputBytes, boolean allowReader, boolean allowCached) static BufferedReader
getBufferedReaderForResource
(Viewer vwr, Class<?> resourceClass, String classPath, String resourceName) getBufferedReaderOrErrorMessageFromName
(String name, String[] fullPathNameReturn, boolean isBinary, boolean doSpecialLoad) getCanonicalName
(String pathName) getEmbeddedFileState
(String fileName, boolean allowCached, String sptName) Get the specified SPT file of a Jmol zip collection or the embedded script for any other file that is embeddable.static String
Extract a Jmol script embedded using JC.EMBEDDED_SCRIPT_TAG.getFileAsBytes
(String name, OC out) getFileAsMap
(String name, String type, boolean asBytes) create a PNG or ZIP file and return it as a map or, optionally, as a byte[]boolean
getFileDataAsString
(String[] data, int nBytesMax, boolean doSpecialLoad, boolean allowBinary, boolean checkProtected) String[]
getFilePath
(String name, boolean addUrlPrefix, boolean asShortName) static void
getFullPathName
(boolean orPrevious) getJzu()
static GenericFileInterface
getLocalDirectory
(Viewer vwr, boolean forDialog) static String
getLocalPathForWritingFile
(Viewer vwr, String file, boolean forDialog) static String
getManifestScriptPath
(String manifest) check a JmolManifest for a reference to a script file (.spt)getUnzippedReaderOrStreamFromName
(String name, Object bytesOrStream, boolean allowZipStream, boolean forceInputStream, boolean isTypeCheckOnly, boolean doSpecialLoad, Map<String, Object> htParams) String[]
getZipDirectory
(String fileName, boolean addManifest, boolean allowCached) static boolean
isEmbeddable
(String type) Check to see if it is possible that this file has been embedded by Jmol using JC.EMBEDDED_SCRIPT_TAG.static boolean
isJmolType
(String type) Check to see if this is a Jmol WRITE file type that might be or have attached a ZIP collection .static boolean
isScriptType
(String fname) boolean
isZipStream
(Object br) boolean
Load an imagepostByteArray
(String fileName, byte[] bytes) void
recachePngjBytes
(String fileName, byte[] bytes) void
setFileInfo
(String[] fileInfo) Set fullPathName, fileName, and nameAsGivenvoid
setFileType
(String fileType) static void
setLocalPath
(Viewer vwr, String path, boolean forDialog) called by getImageFileNameFromDialog called by getOpenFileNameFromDialog called by getSaveFileNameFromDialog called by classifyName for any full file load called from the CD command currentLocalPath is set in all cases and is used specifically for dialogs as a first try defaultDirectoryLocal is set only when not from a dialog and is used only in getLocalPathForWritingFile or from an open/save dialog.static String
setScriptFileReferences
(String script, String localPath, String remotePath, String scriptPath) An isolated class to retrieve Spartan file data from compound documents, zip files, and directoriesstatic String
static String
stripTypePrefix
(String fileName) Stip PDB::file://...
-
Field Details
-
SIMULATION_PROTOCOL
-
vwr
-
PMESH_BINARY_MAGIC_NUMBER
- See Also:
-
JPEG_CONTINUE_STRING
- See Also:
-
pngjCache
-
spardirCache
-
-
Method Details
-
spartanUtil
An isolated class to retrieve Spartan file data from compound documents, zip files, and directories- Returns:
- a SpartanUtil
-
getJzu
-
getPathForAllFiles
-
setFileInfo
Set fullPathName, fileName, and nameAsGiven- Parameters:
fileInfo
- if null, replace fullPathName and nameAsGiven with last version of such
-
getFileInfo
-
getFullPathName
-
getFileType
-
setFileType
-
getFileName
-
getBufferedInputStreamOrErrorMessageFromName
-
getBufferedReaderForResource
public static BufferedReader getBufferedReaderForResource(Viewer vwr, Class<?> resourceClass, String classPath, String resourceName) throws IOException - Throws:
IOException
-
getBufferedReaderOrErrorMessageFromName
-
getUnzippedReaderOrStreamFromName
public Object getUnzippedReaderOrStreamFromName(String name, Object bytesOrStream, boolean allowZipStream, boolean forceInputStream, boolean isTypeCheckOnly, boolean doSpecialLoad, Map<String, Object> htParams) - Parameters:
name
-bytesOrStream
- cached bytes or a BufferedInputStreamallowZipStream
- if the file is a zip file, allow a return that is a ZipInputStreamforceInputStream
- always return a raw BufferedInputStream, not a BufferedReader, and do not process PNGJ filesisTypeCheckOnly
- when possibly reading a spartan file for content (doSpecialLoad == true), just return the compound document's file listdoSpecialLoad
- check for a Spartan filehtParams
-- Returns:
- String if error or String[] if a type check or BufferedReader or BufferedInputStream
-
getZipDirectory
- Parameters:
fileName
-addManifest
-allowCached
-- Returns:
- [] if not a zip file;
-
getFileAsBytes
-
getFileAsMap
create a PNG or ZIP file and return it as a map or, optionally, as a byte[]- Parameters:
name
-type
-asBytes
- true to return byte[] instead of a map- Returns:
- Map or byte[]
-
getFileDataAsString
public boolean getFileDataAsString(String[] data, int nBytesMax, boolean doSpecialLoad, boolean allowBinary, boolean checkProtected) - Parameters:
data
- [0] initially path name, but returned as full path name; [1]file contents (directory listing for a ZIP/JAR file) or error stringnBytesMax
- or -1doSpecialLoad
-allowBinary
-checkProtected
- TODO- Returns:
- true if successful; false on error
-
loadImage
Load an image- Parameters:
nameOrBytes
-echoName
-forceSync
- TODO- Returns:
- true if asynchronous
-
getImage
-
getFilePath
-
getLocalDirectory
-
setLocalPath
called by getImageFileNameFromDialog called by getOpenFileNameFromDialog called by getSaveFileNameFromDialog called by classifyName for any full file load called from the CD command currentLocalPath is set in all cases and is used specifically for dialogs as a first try defaultDirectoryLocal is set only when not from a dialog and is used only in getLocalPathForWritingFile or from an open/save dialog. In this way, saving a file from a dialog doesn't change the "CD" directory. Neither of these is saved in the state, but- Parameters:
vwr
-path
-forDialog
-
-
getLocalPathForWritingFile
-
fixDOSName
Switch \ for / only for DOS names such as C:\temp\t.xyz, not names like http://cactus.nci.nih.gov/chemical/structure/CC/C=C\CC- Parameters:
fileName
-- Returns:
- fixed name
-
stripPath
-
isScriptType
-
determineSurfaceFileType
Try to determine a surface file type based on its header. Also identifies Menu files.- Parameters:
bufferedReader
-- Returns:
- file type
-
getManifestScriptPath
check a JmolManifest for a reference to a script file (.spt)- Parameters:
manifest
-- Returns:
- null, "", or a directory entry in the ZIP file
-
getFileReferences
-
setScriptFileReferences
-
cacheGet
-
cacheFileByNameAdd
-
cacheList
-
getCanonicalName
-
recachePngjBytes
-
postByteArray
- Specified by:
postByteArray
in interfaceBytePoster
-
isJmolType
Check to see if this is a Jmol WRITE file type that might be or have attached a ZIP collection .- Parameters:
type
- the- Returns:
- true if PNG, PNGJ, JMOL, ZIP, or ZIPALL
-
isEmbeddable
Check to see if it is possible that this file has been embedded by Jmol using JC.EMBEDDED_SCRIPT_TAG. This includes all Jmol types, JPEG images, and export types POV, POVRAY, and IDTF- Parameters:
type
- raw extension or file name- Returns:
- true if this file might contain an embedded script
-
getEmbeddedFileState
Get the specified SPT file of a Jmol zip collection or the embedded script for any other file that is embeddable.- Parameters:
fileName
-allowCached
-sptName
- state.spt, movie.spt, or null- Returns:
- embedded state.spt, movie.spt, or a script embedded using JC.EMBEDDED_SCRIPT_TAG, or "" if not found.
-
stripTypePrefix
Stip PDB::file://... from a file name- Parameters:
fileName
-- Returns:
- stripped name
-
getEmbeddedScript
Extract a Jmol script embedded using JC.EMBEDDED_SCRIPT_TAG.- Parameters:
s
-- Returns:
- the embedded script or null
-
isZipStream
-