public class FileManager extends Object implements javajs.api.BytePoster
Modifier and Type | Field and Description |
---|---|
private URL |
appletDocumentBaseURL |
private String |
appletProxy |
private Map<String,Object> |
cache |
private String |
fileName |
private String |
fullPathName |
private String |
lastFullPathName |
private String |
lastNameAsGiven |
private String |
nameAsGiven |
private String |
pathForAllFiles |
Map<String,byte[]> |
pngjCache |
static String[] |
scriptFilePrefixes |
Map<String,byte[]> |
spardirCache |
static int |
URL_LOCAL |
private static String[] |
urlPrefixes |
private Viewer |
viewer |
Constructor and Description |
---|
FileManager(Viewer viewer) |
Modifier and Type | Method and Description |
---|---|
private static String |
addDirectory(String defaultDirectory,
String name) |
(package private) void |
cacheClear() |
int |
cacheFileByNameAdd(String fileName,
boolean isAdd) |
Object |
cacheGet(String key,
boolean bytesOnly) |
(package private) Map<String,Integer> |
cacheList() |
(package private) void |
cachePut(String key,
Object data) |
private boolean |
checkSecurity(String f) |
private String[] |
classifyName(String name,
boolean isFullLoad)
[0] and [2] may return same as [1] in the
case of a local unsigned applet.
|
(package private) void |
clear() |
void |
clearPngjCache(String fileName) |
(package private) Object |
createAtomSeCollectionFromArrayData(javajs.util.List<Object> arrayData,
Map<String,Object> htParams,
boolean isAppend) |
(package private) Object |
createAtomSeCollectionFromStrings(String[] arrayModels,
javajs.util.SB loadScript,
Map<String,Object> htParams,
boolean isAppend) |
(package private) Object |
createAtomSetCollectionFromDOM(Object DOMNode,
Map<String,Object> htParams) |
(package private) Object |
createAtomSetCollectionFromFile(String name,
Map<String,Object> htParams,
boolean isAppend) |
(package private) Object |
createAtomSetCollectionFromFiles(String[] fileNames,
Map<String,Object> htParams,
boolean isAppend) |
(package private) Object |
createAtomSetCollectionFromReader(String fullPathName,
String name,
Object reader,
Map<String,Object> htParams)
not used in Jmol project -- will close reader
|
(package private) Object |
createAtomSetCollectionFromString(String strModel,
Map<String,Object> htParams,
boolean isAppend) |
static String |
fixFileNameVariables(String format,
String fname) |
private static String |
fixPath(String path) |
(package private) String |
getAppletDocumentBase() |
(package private) BufferedInputStream |
getBufferedInputStream(String fullPathName) |
Object |
getBufferedInputStreamOrErrorMessageFromName(String name,
String fullName,
boolean showMsg,
boolean checkOnly,
byte[] outputBytes,
boolean allowReader) |
(package private) Object |
getBufferedReaderOrErrorMessageFromName(String name,
String[] fullPathNameReturn,
boolean isBinary,
boolean doSpecialLoad) |
String |
getCanonicalName(String pathName) |
(package private) String |
getDefaultDirectory(String name) |
String |
getEmbeddedFileState(String fileName) |
Object |
getFileAsBytes(String name,
javajs.util.OC out,
boolean allowZip) |
(package private) boolean |
getFileDataOrErrorAsString(String[] data,
int nBytesMax,
boolean doSpecialLoad,
boolean allowBinary,
boolean checkProtected) |
(package private) String[] |
getFileInfo() |
(package private) String |
getFileName() |
String |
getFilePath(String name,
boolean addUrlPrefix,
boolean asShortName) |
(package private) String |
getFullPathName(boolean orPrevious) |
(package private) String[] |
getFullPathNameOrError(String filename)
just check for a file as being readable.
|
static javajs.api.GenericFileInterface |
getLocalDirectory(Viewer viewer,
boolean forDialog) |
static String |
getLocalPathForWritingFile(Viewer viewer,
String file) |
private String |
getObjectAsSections(String name,
String header,
Map<String,String> fileData)
delivers file contents and directory listing for a ZIP/JAR file into sb
|
(package private) String |
getPathForAllFiles() |
private String[] |
getSpartanFileList(String name) |
Object |
getUnzippedReaderOrStreamFromName(String name,
byte[] bytes,
boolean allowZipStream,
boolean forceInputStream,
boolean isTypeCheckOnly,
boolean doSpecialLoad,
Map<String,Object> htParams) |
String[] |
getZipDirectory(String fileName,
boolean addManifest) |
static boolean |
isLocal(String fileName) |
(package private) void |
loadImage(String name,
String echoName) |
private DataReader |
newDataReader(Object data) |
private JmolFilesReaderInterface |
newFilesReader(String[] fullPathNames,
String[] namesAsGiven,
String[] fileTypes,
DataReader[] readers,
Map<String,Object> htParams,
boolean isAppend) |
String |
postByteArray(String fileName,
byte[] bytes) |
(package private) void |
setAppletContext(String documentBase) |
(package private) void |
setAppletProxy(String appletProxy) |
void |
setFileInfo(String[] fileInfo) |
private void |
setLoadState(Map<String,Object> htParams) |
static void |
setLocalPath(Viewer viewer,
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) String |
setPathForAllFiles(String value) |
static String |
setScriptFileReferences(String script,
String localPath,
String remotePath,
String scriptPath) |
private static String |
setScriptFileRefs(String script,
String dataPath,
boolean isLocal)
Sets all local file references in a script file to point to files within
dataPath.
|
static String |
stripPath(String name) |
private String |
urlEncode(String name) |
static int |
urlTypeIndex(String name) |
private Viewer viewer
private String pathForAllFiles
private String nameAsGiven
private String fullPathName
private String lastFullPathName
private String lastNameAsGiven
private String fileName
private URL appletDocumentBaseURL
private String appletProxy
public static final int URL_LOCAL
private static final String[] urlPrefixes
public static String[] scriptFilePrefixes
FileManager(Viewer viewer)
void clear()
String getPathForAllFiles()
public void setFileInfo(String[] fileInfo)
String[] getFileInfo()
String getFullPathName(boolean orPrevious)
String getFileName()
String getAppletDocumentBase()
void setAppletContext(String documentBase)
void setAppletProxy(String appletProxy)
Object createAtomSetCollectionFromFile(String name, Map<String,Object> htParams, boolean isAppend)
Object createAtomSetCollectionFromFiles(String[] fileNames, Map<String,Object> htParams, boolean isAppend)
Object createAtomSetCollectionFromString(String strModel, Map<String,Object> htParams, boolean isAppend)
Object createAtomSeCollectionFromStrings(String[] arrayModels, javajs.util.SB loadScript, Map<String,Object> htParams, boolean isAppend)
Object createAtomSeCollectionFromArrayData(javajs.util.List<Object> arrayData, Map<String,Object> htParams, boolean isAppend)
private JmolFilesReaderInterface newFilesReader(String[] fullPathNames, String[] namesAsGiven, String[] fileTypes, DataReader[] readers, Map<String,Object> htParams, boolean isAppend)
private DataReader newDataReader(Object data)
Object createAtomSetCollectionFromDOM(Object DOMNode, Map<String,Object> htParams)
Object createAtomSetCollectionFromReader(String fullPathName, String name, Object reader, Map<String,Object> htParams)
fullPathName
- name
- reader
- htParams
- BufferedInputStream getBufferedInputStream(String fullPathName)
public Object getBufferedInputStreamOrErrorMessageFromName(String name, String fullName, boolean showMsg, boolean checkOnly, byte[] outputBytes, boolean allowReader)
String[] getFullPathNameOrError(String filename)
filename
- Object getBufferedReaderOrErrorMessageFromName(String name, String[] fullPathNameReturn, boolean isBinary, boolean doSpecialLoad)
public Object getUnzippedReaderOrStreamFromName(String name, byte[] bytes, boolean allowZipStream, boolean forceInputStream, boolean isTypeCheckOnly, boolean doSpecialLoad, Map<String,Object> htParams)
private String getObjectAsSections(String name, String header, Map<String,String> fileData)
name
- header
- fileData
- public String[] getZipDirectory(String fileName, boolean addManifest)
fileName
- addManifest
- boolean getFileDataOrErrorAsString(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(String f)
public static int urlTypeIndex(String name)
public static boolean isLocal(String fileName)
private String[] classifyName(String name, boolean isFullLoad)
name
- isFullLoad
- false only when just checking pathpublic static javajs.api.GenericFileInterface getLocalDirectory(Viewer viewer, boolean forDialog)
public static void setLocalPath(Viewer viewer, String path, boolean forDialog)
viewer
- path
- forDialog
- public static String getLocalPathForWritingFile(Viewer viewer, String file)
public static String setScriptFileReferences(String script, String localPath, String remotePath, String scriptPath)
private static String setScriptFileRefs(String script, String dataPath, boolean isLocal)
script
- dataPath
- isLocal
- public void clearPngjCache(String fileName)
void cacheClear()
public int cacheFileByNameAdd(String fileName, boolean isAdd)