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 |
private JmolBinary |
jmb |
static java.lang.String |
JPEG_CONTINUE_STRING |
private java.lang.String |
lastFullPathName |
private java.lang.String |
lastNameAsGiven |
private java.lang.String |
nameAsGiven |
private java.lang.String |
pathForAllFiles |
java.util.Map<java.lang.String,java.lang.Object> |
pngjCache |
static java.lang.String[] |
scriptFilePrefixes |
static java.lang.String |
SIMULATION_PROTOCOL |
java.util.Map<java.lang.String,byte[]> |
spardirCache |
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 java.lang.Object |
checkOpenSpartanFile(java.lang.String name,
boolean isTypeCheckOnly)
Open a Spartan compound document file as a
|
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 |
fixFileNameVariables(java.lang.String format,
java.lang.String fname) |
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) |
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.Object |
getFileAsBytes(java.lang.String name,
javajs.util.OC out) |
java.util.Map<java.lang.String,java.lang.Object> |
getFileAsMap(java.lang.String name) |
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) |
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.
|
JmolBinary |
getJmb() |
static javajs.api.GenericFileInterface |
getLocalDirectory(Viewer vwr,
boolean forDialog) |
static java.lang.String |
getLocalPathForWritingFile(Viewer vwr,
java.lang.String file) |
java.lang.String |
getPathForAllFiles() |
private byte[] |
getPngjOrDroppedBytes(java.lang.String fullName,
java.lang.String name) |
private java.lang.String[] |
getSpartanFileList(java.lang.String name)
check for spartan file based on file extension ".spardir.zip" or ".spardir"
and if found, return the list of critical files needed
|
java.lang.Object |
getUnzippedReaderOrStreamFromName(java.lang.String name,
byte[] bytes,
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) |
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.
|
void |
spardirPut(java.lang.String name,
byte[] bytes) |
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 java.util.Map<java.lang.String,java.lang.Object> pngjCache
public java.util.Map<java.lang.String,byte[]> spardirCache
public Viewer vwr
private JmolBinary jmb
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
public static java.lang.String[] scriptFilePrefixes
private java.util.Map<java.lang.String,java.lang.Object> cache
public static final java.lang.String JPEG_CONTINUE_STRING
private static final java.lang.String DELPHI_BINARY_MAGIC_NUMBER
FileManager(Viewer vwr)
public JmolBinary getJmb()
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
- 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)
private byte[] getPngjOrDroppedBytes(java.lang.String fullName, java.lang.String name)
private java.lang.String urlEncode(java.lang.String name)
public java.lang.String getEmbeddedFileState(java.lang.String fileName, boolean allowCached)
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, byte[] bytes, boolean allowZipStream, boolean forceInputStream, boolean isTypeCheckOnly, boolean doSpecialLoad, java.util.Map<java.lang.String,java.lang.Object> htParams)
name
- bytes
- cached bytesallowZipStream
- 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
- private java.lang.Object checkOpenSpartanFile(java.lang.String name, boolean isTypeCheckOnly)
name
- isTypeCheckOnly
- just return a String[] containing critical informationprivate java.lang.String[] getSpartanFileList(java.lang.String name)
name
- 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)
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 javajs.api.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 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
- public static java.lang.String stripPath(java.lang.String name)
public static java.lang.String fixFileNameVariables(java.lang.String format, java.lang.String fname)
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 java.lang.String postByteArray(java.lang.String fileName, byte[] bytes)
postByteArray
in interface javajs.api.BytePoster
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
public static java.lang.String determineSurfaceTypeIs(java.io.InputStream is)
public static java.lang.String determineSurfaceFileType(java.io.BufferedReader bufferedReader)
public byte[] getCachedPngjBytes(java.lang.String pathName)
public void spardirPut(java.lang.String name, byte[] bytes)
public void recachePngjBytes(java.lang.String fileName, byte[] bytes)