public class FileManager
extends java.lang.Object
implements javajs.api.BytePoster
Modifier and Type | Field and Description |
---|---|
private java.net.URL |
appletDocumentBaseURL |
private java.lang.String |
appletProxy |
private java.util.Map<java.lang.String,java.lang.Object> |
cache |
private static java.lang.String |
DELPHI_BINARY_MAGIC_NUMBER |
private java.lang.String |
fileName |
private java.lang.String |
fullPathName |
static java.lang.String |
JPEG_CONTINUE_STRING |
(package private) JmolUtil |
jzu |
private java.lang.String |
lastFullPathName |
private java.lang.String |
lastNameAsGiven |
private java.lang.String |
nameAsGiven |
private java.lang.String |
pathForAllFiles |
static java.lang.String |
PMESH_BINARY_MAGIC_NUMBER |
java.util.Map<java.lang.String,java.lang.Object> |
pngjCache |
private static java.lang.String[] |
scriptFilePrefixes |
static java.lang.String |
SIMULATION_PROTOCOL |
java.util.Map<java.lang.String,byte[]> |
spardirCache |
private SpartanUtil |
spartanDoc |
Viewer |
vwr |
Constructor and Description |
---|
FileManager(Viewer vwr) |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
addDirectory(java.lang.String defaultDirectory,
java.lang.String name) |
(package private) void |
cacheClear() |
int |
cacheFileByNameAdd(java.lang.String fileName,
boolean isAdd) |
java.lang.Object |
cacheGet(java.lang.String key,
boolean bytesOnly) |
java.util.Map<java.lang.String,java.lang.Integer> |
cacheList() |
(package private) void |
cachePut(java.lang.String key,
java.lang.Object data) |
private boolean |
checkSecurity(java.lang.String f) |
(package private) void |
clear() |
(package private) java.lang.Object |
createAtomSeCollectionFromArrayData(javajs.util.Lst<java.lang.Object> arrayData,
java.util.Map<java.lang.String,java.lang.Object> htParams,
boolean isAppend) |
(package private) java.lang.Object |
createAtomSeCollectionFromStrings(java.lang.String[] arrayModels,
javajs.util.SB loadScript,
java.util.Map<java.lang.String,java.lang.Object> htParams,
boolean isAppend) |
(package private) java.lang.Object |
createAtomSetCollectionFromDOM(java.lang.Object DOMNode,
java.util.Map<java.lang.String,java.lang.Object> htParams) |
(package private) java.lang.Object |
createAtomSetCollectionFromFile(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> htParams,
boolean isAppend) |
(package private) java.lang.Object |
createAtomSetCollectionFromFiles(java.lang.String[] fileNames,
java.util.Map<java.lang.String,java.lang.Object> htParams,
boolean isAppend) |
(package private) java.lang.Object |
createAtomSetCollectionFromReader(java.lang.String fullPathName,
java.lang.String name,
java.lang.Object reader,
java.util.Map<java.lang.String,java.lang.Object> htParams)
not used in Jmol project -- will close reader
|
(package private) java.lang.Object |
createAtomSetCollectionFromString(java.lang.String strModel,
java.util.Map<java.lang.String,java.lang.Object> htParams,
boolean isAppend) |
static java.lang.String |
determineSurfaceFileType(java.io.BufferedReader bufferedReader) |
static java.lang.String |
determineSurfaceTypeIs(java.io.InputStream is) |
static java.lang.String |
fixDOSName(java.lang.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\CC
|
private static java.lang.String |
fixPath(java.lang.String path) |
(package private) java.lang.String |
getAppletDocumentBase() |
(package private) java.io.BufferedInputStream |
getBufferedInputStream(java.lang.String fullPathName) |
java.lang.Object |
getBufferedInputStreamOrErrorMessageFromName(java.lang.String name,
java.lang.String fullName,
boolean showMsg,
boolean checkOnly,
byte[] outputBytes,
boolean allowReader,
boolean allowCached) |
static java.io.BufferedReader |
getBufferedReaderForResource(Viewer vwr,
java.lang.Object resourceClass,
java.lang.String classPath,
java.lang.String resourceName) |
java.lang.Object |
getBufferedReaderOrErrorMessageFromName(java.lang.String name,
java.lang.String[] fullPathNameReturn,
boolean isBinary,
boolean doSpecialLoad) |
private byte[] |
getCachedPngjBytes(java.lang.String pathName) |
java.lang.String |
getCanonicalName(java.lang.String pathName) |
private java.lang.String[] |
getClassifiedName(java.lang.String name,
boolean isFullLoad)
[0] and [2] may return same as [1] in the
case of a local unsigned applet.
|
(package private) java.lang.String |
getDefaultDirectory(java.lang.String name) |
java.lang.String |
getEmbeddedFileState(java.lang.String fileName,
boolean allowCached,
java.lang.String sptName) |
static java.lang.String |
getEmbeddedScript(java.lang.String script) |
java.lang.Object |
getFileAsBytes(java.lang.String name,
javajs.util.OC out) |
java.util.Map<java.lang.String,java.lang.Object> |
getFileAsMap(java.lang.String name,
java.lang.String type) |
boolean |
getFileDataAsString(java.lang.String[] data,
int nBytesMax,
boolean doSpecialLoad,
boolean allowBinary,
boolean checkProtected) |
java.lang.String[] |
getFileInfo() |
java.lang.String |
getFileName() |
java.lang.String |
getFilePath(java.lang.String name,
boolean addUrlPrefix,
boolean asShortName) |
static void |
getFileReferences(java.lang.String script,
javajs.util.Lst<java.lang.String> fileList) |
java.lang.String |
getFullPathName(boolean orPrevious) |
(package private) java.lang.Object |
getFullPathNameOrError(java.lang.String filename,
boolean getStream,
java.lang.String[] ret)
just check for a file as being readable.
|
JmolUtil |
getJzu() |
static GenericFileInterface |
getLocalDirectory(Viewer vwr,
boolean forDialog) |
static java.lang.String |
getLocalPathForWritingFile(Viewer vwr,
java.lang.String file) |
static java.lang.String |
getManifestScriptPath(java.lang.String manifest)
check a JmolManifest for a reference to a script file (.spt)
|
java.lang.String |
getPathForAllFiles() |
private byte[] |
getPngjOrDroppedBytes(java.lang.String fullName,
java.lang.String name) |
java.lang.Object |
getUnzippedReaderOrStreamFromName(java.lang.String name,
java.lang.Object bytesOrStream,
boolean allowZipStream,
boolean forceInputStream,
boolean isTypeCheckOnly,
boolean doSpecialLoad,
java.util.Map<java.lang.String,java.lang.Object> htParams) |
java.lang.String[] |
getZipDirectory(java.lang.String fileName,
boolean addManifest,
boolean allowCached) |
static boolean |
isScriptType(java.lang.String fname) |
static boolean |
isSurfaceType(java.lang.String fname) |
boolean |
loadImage(java.lang.Object nameOrBytes,
java.lang.String echoName,
boolean forceSync)
Load an image
|
(package private) static javajs.util.DataReader |
newDataReader(Viewer vwr,
java.lang.Object data) |
private JmolFilesReaderInterface |
newFilesReader(java.lang.String[] fullPathNames,
java.lang.String[] namesAsGiven,
java.lang.String[] fileTypes,
javajs.util.DataReader[] readers,
java.util.Map<java.lang.String,java.lang.Object> htParams,
boolean isAppend) |
java.lang.String |
postByteArray(java.lang.String fileName,
byte[] bytes) |
void |
recachePngjBytes(java.lang.String fileName,
byte[] bytes) |
(package private) void |
setAppletContext(java.lang.String documentBase) |
(package private) void |
setAppletProxy(java.lang.String appletProxy) |
void |
setFileInfo(java.lang.String[] fileInfo)
Set fullPathName, fileName, and nameAsGiven
|
private void |
setLoadState(java.util.Map<java.lang.String,java.lang.Object> htParams) |
static void |
setLocalPath(Viewer vwr,
java.lang.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.
|
(package private) java.lang.String |
setPathForAllFiles(java.lang.String value) |
static java.lang.String |
setScriptFileReferences(java.lang.String script,
java.lang.String localPath,
java.lang.String remotePath,
java.lang.String scriptPath) |
private static java.lang.String |
setScriptFileRefs(java.lang.String script,
java.lang.String dataPath,
boolean isLocal)
Sets all local file references in a script file to point to files within
dataPath.
|
SpartanUtil |
spartanUtil()
An isolated class to retrieve Spartan file data from compound documents, zip files, and directories
|
static java.lang.String |
stripPath(java.lang.String name) |
private java.lang.String |
urlEncode(java.lang.String name) |
public static java.lang.String SIMULATION_PROTOCOL
public Viewer vwr
private SpartanUtil spartanDoc
JmolUtil jzu
private java.lang.String pathForAllFiles
private java.lang.String nameAsGiven
private java.lang.String fullPathName
private java.lang.String lastFullPathName
private java.lang.String lastNameAsGiven
private java.lang.String fileName
private java.net.URL appletDocumentBaseURL
private java.lang.String appletProxy
private static final java.lang.String DELPHI_BINARY_MAGIC_NUMBER
public static final java.lang.String PMESH_BINARY_MAGIC_NUMBER
public static final java.lang.String JPEG_CONTINUE_STRING
private static java.lang.String[] scriptFilePrefixes
private java.util.Map<java.lang.String,java.lang.Object> cache
public java.util.Map<java.lang.String,java.lang.Object> pngjCache
public java.util.Map<java.lang.String,byte[]> spardirCache
FileManager(Viewer vwr)
public SpartanUtil spartanUtil()
public JmolUtil getJzu()
void clear()
private void setLoadState(java.util.Map<java.lang.String,java.lang.Object> htParams)
public java.lang.String getPathForAllFiles()
java.lang.String setPathForAllFiles(java.lang.String value)
public void setFileInfo(java.lang.String[] fileInfo)
fileInfo
- if null, replace fullPathName and nameAsGiven with last version of suchpublic java.lang.String[] getFileInfo()
public java.lang.String getFullPathName(boolean orPrevious)
public java.lang.String getFileName()
java.lang.String getAppletDocumentBase()
void setAppletContext(java.lang.String documentBase)
void setAppletProxy(java.lang.String appletProxy)
java.lang.Object createAtomSetCollectionFromFile(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)
java.lang.Object createAtomSetCollectionFromFiles(java.lang.String[] fileNames, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)
java.lang.Object createAtomSetCollectionFromString(java.lang.String strModel, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)
java.lang.Object createAtomSeCollectionFromStrings(java.lang.String[] arrayModels, javajs.util.SB loadScript, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)
java.lang.Object createAtomSeCollectionFromArrayData(javajs.util.Lst<java.lang.Object> arrayData, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)
static javajs.util.DataReader newDataReader(Viewer vwr, java.lang.Object data)
private JmolFilesReaderInterface newFilesReader(java.lang.String[] fullPathNames, java.lang.String[] namesAsGiven, java.lang.String[] fileTypes, javajs.util.DataReader[] readers, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)
java.lang.Object createAtomSetCollectionFromDOM(java.lang.Object DOMNode, java.util.Map<java.lang.String,java.lang.Object> htParams)
java.lang.Object createAtomSetCollectionFromReader(java.lang.String fullPathName, java.lang.String name, java.lang.Object reader, java.util.Map<java.lang.String,java.lang.Object> htParams)
fullPathName
- name
- reader
- could be a Reader, or a BufferedInputStream or byte[]htParams
- java.io.BufferedInputStream getBufferedInputStream(java.lang.String fullPathName)
public java.lang.Object getBufferedInputStreamOrErrorMessageFromName(java.lang.String name, java.lang.String fullName, boolean showMsg, boolean checkOnly, byte[] outputBytes, boolean allowReader, boolean allowCached)
public static java.io.BufferedReader getBufferedReaderForResource(Viewer vwr, java.lang.Object resourceClass, java.lang.String classPath, java.lang.String resourceName) throws java.io.IOException
java.io.IOException
private java.lang.String urlEncode(java.lang.String name)
public java.lang.String getEmbeddedFileState(java.lang.String fileName, boolean allowCached, java.lang.String sptName)
java.lang.Object getFullPathNameOrError(java.lang.String filename, boolean getStream, java.lang.String[] ret)
filename
- getStream
- ret
- public java.lang.Object getBufferedReaderOrErrorMessageFromName(java.lang.String name, java.lang.String[] fullPathNameReturn, boolean isBinary, boolean doSpecialLoad)
public java.lang.Object getUnzippedReaderOrStreamFromName(java.lang.String name, java.lang.Object bytesOrStream, boolean allowZipStream, boolean forceInputStream, boolean isTypeCheckOnly, boolean doSpecialLoad, java.util.Map<java.lang.String,java.lang.Object> htParams)
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
- public java.lang.String[] getZipDirectory(java.lang.String fileName, boolean addManifest, boolean allowCached)
fileName
- addManifest
- allowCached
- public java.lang.Object getFileAsBytes(java.lang.String name, javajs.util.OC out)
public java.util.Map<java.lang.String,java.lang.Object> getFileAsMap(java.lang.String name, java.lang.String type)
public boolean getFileDataAsString(java.lang.String[] data, int nBytesMax, boolean doSpecialLoad, boolean allowBinary, boolean checkProtected)
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
- TODOprivate boolean checkSecurity(java.lang.String f)
public boolean loadImage(java.lang.Object nameOrBytes, java.lang.String echoName, boolean forceSync)
nameOrBytes
- echoName
- forceSync
- TODOprivate java.lang.String[] getClassifiedName(java.lang.String name, boolean isFullLoad)
name
- isFullLoad
- false only when just checking pathprivate static java.lang.String addDirectory(java.lang.String defaultDirectory, java.lang.String name)
java.lang.String getDefaultDirectory(java.lang.String name)
private static java.lang.String fixPath(java.lang.String path)
public java.lang.String getFilePath(java.lang.String name, boolean addUrlPrefix, boolean asShortName)
public static GenericFileInterface getLocalDirectory(Viewer vwr, boolean forDialog)
public static void setLocalPath(Viewer vwr, java.lang.String path, boolean forDialog)
vwr
- path
- forDialog
- public static java.lang.String getLocalPathForWritingFile(Viewer vwr, java.lang.String file)
public static java.lang.String fixDOSName(java.lang.String fileName)
fileName
- public static java.lang.String stripPath(java.lang.String name)
public static java.lang.String determineSurfaceTypeIs(java.io.InputStream is)
public static boolean isScriptType(java.lang.String fname)
public static boolean isSurfaceType(java.lang.String fname)
public static java.lang.String determineSurfaceFileType(java.io.BufferedReader bufferedReader)
public static java.lang.String getManifestScriptPath(java.lang.String manifest)
manifest
- public static java.lang.String getEmbeddedScript(java.lang.String script)
public static void getFileReferences(java.lang.String script, javajs.util.Lst<java.lang.String> fileList)
public static java.lang.String setScriptFileReferences(java.lang.String script, java.lang.String localPath, java.lang.String remotePath, java.lang.String scriptPath)
private static java.lang.String setScriptFileRefs(java.lang.String script, java.lang.String dataPath, boolean isLocal)
script
- dataPath
- isLocal
- void cachePut(java.lang.String key, java.lang.Object data)
public java.lang.Object cacheGet(java.lang.String key, boolean bytesOnly)
void cacheClear()
public int cacheFileByNameAdd(java.lang.String fileName, boolean isAdd)
public java.util.Map<java.lang.String,java.lang.Integer> cacheList()
public java.lang.String getCanonicalName(java.lang.String pathName)
public void recachePngjBytes(java.lang.String fileName, byte[] bytes)
private byte[] getPngjOrDroppedBytes(java.lang.String fullName, java.lang.String name)
private byte[] getCachedPngjBytes(java.lang.String pathName)
public java.lang.String postByteArray(java.lang.String fileName, byte[] bytes)
postByteArray
in interface javajs.api.BytePoster