public class ZipUtil extends java.lang.Object implements JmolZipUtility
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
SCENE_TAG |
Constructor and Description |
---|
ZipUtil() |
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
addPngFileBytes(java.lang.String name,
byte[] ret,
int iFile,
java.util.Hashtable<java.lang.Object,java.lang.String> crcMap,
boolean isSparDir,
java.lang.String newName,
int ptSlash,
JmolList<java.lang.Object> v) |
boolean |
cachePngjFile(FileManager fm,
java.lang.String[] data) |
java.lang.String |
cacheZipContents(java.io.BufferedInputStream bis,
java.lang.String fileName,
java.util.Map<java.lang.String,byte[]> cache)
caches an entire pngj file's contents into a Map
|
private static SB |
checkSpecialData(java.io.InputStream is,
java.lang.String[] zipDirectory)
called by SmarterJmolAdapter to see if we have a Spartan directory and, if so,
open it and get all the data into the correct order.
|
(package private) static java.lang.String[] |
checkSpecialInZip(java.lang.String[] zipDirectory)
called by SmarterJmolAdapter to see if we can automatically assign a file
from the zip file.
|
java.lang.Object |
createZipSet(FileManager fm,
Viewer viewer,
java.lang.String fileName,
java.lang.String script,
java.lang.String[] scripts,
boolean includeRemoteFiles) |
void |
getAllZipData(java.io.InputStream is,
java.lang.String[] subfileList,
java.lang.String name0,
java.lang.String binaryFileList,
java.util.Map<java.lang.String,java.lang.String> fileData)
reads a ZIP file and saves all data in a Hashtable so that the files may be
organized later in a different order.
|
private static void |
getAllZipDataStatic(java.io.InputStream is,
java.lang.String[] subfileList,
java.lang.String name0,
java.lang.String binaryFileList,
java.util.Map<java.lang.String,java.lang.String> fileData) |
java.lang.Object |
getAtomSetCollectionOrBufferedReaderFromZip(JmolAdapter adapter,
java.io.InputStream is,
java.lang.String fileName,
java.lang.String[] zipDirectory,
java.util.Map<java.lang.String,java.lang.Object> htParams,
int subFilePtr,
boolean asBufferedReader,
boolean asBufferedInputStream) |
private static java.lang.String |
getBinaryStringForBytes(byte[] bytes) |
byte[] |
getCachedPngjBytes(FileManager fm,
java.lang.String pathName) |
java.lang.String |
getGzippedBytesAsString(byte[] bytes) |
java.io.InputStream |
getGzippedInputStream(byte[] bytes) |
java.lang.String |
getSceneScript(java.lang.String[] scenes,
java.util.Map<java.lang.String,java.lang.String> htScenes,
JmolList<java.lang.Integer> list) |
private static java.lang.String[] |
getSpartanDirs(java.lang.String outputFileData)
read the output file from the Spartan directory and decide from that what
files need to be read and in what order - usually M0001 or a set of Profiles.
|
private static java.lang.String[] |
getSpartanFileList(java.lang.String name,
java.lang.String[] dirNums)
returns the list of files to read for every Spartan spardir.
|
java.lang.String[] |
getZipDirectoryAndClose(java.io.BufferedInputStream bis,
boolean addManifest) |
java.lang.String |
getZipDirectoryAsStringAndClose(java.io.BufferedInputStream bis) |
private java.lang.String[] |
getZipDirectoryOrErrorAndClose(java.io.BufferedInputStream bis,
boolean addManifest) |
private static java.lang.String |
getZipEntryAsString(java.io.InputStream is) |
java.lang.Object |
getZipFileContents(java.io.BufferedInputStream bis,
java.lang.String[] list,
int listPtr,
boolean asBufferedInputStream)
iteratively drills into zip files of zip files to extract file content or
zip file directory.
|
byte[] |
getZipFileContentsAsBytes(java.io.BufferedInputStream bis,
java.lang.String[] list,
int listPtr) |
private static boolean |
isJmolManifest(java.lang.String thisEntry) |
java.io.InputStream |
newGZIPInputStream(java.io.BufferedInputStream bis) |
ZInputStream |
newZipInputStream(java.io.InputStream is) |
private static ZInputStream |
newZIS(java.io.InputStream is) |
private static java.lang.String |
shortSceneFilename(java.lang.String pathName) |
java.lang.String[] |
spartanFileList(java.lang.String name,
java.lang.String type)
Special loading for file directories.
|
(package private) static java.lang.String |
staticGetGzippedBytesAsString(byte[] bytes) |
private static java.lang.String |
wrapPathForAllFiles(java.lang.String cmd,
java.lang.String strCatch) |
java.lang.Object |
writeZipFile(FileManager fm,
Viewer viewer,
java.lang.String outFileName,
JmolList<java.lang.Object> fileNamesAndByteArrays,
java.lang.String msg) |
private static final java.lang.String SCENE_TAG
public ZInputStream newZipInputStream(java.io.InputStream is)
newZipInputStream
in interface JmolZipUtility
private static ZInputStream newZIS(java.io.InputStream is)
public void getAllZipData(java.io.InputStream is, java.lang.String[] subfileList, java.lang.String name0, java.lang.String binaryFileList, java.util.Map<java.lang.String,java.lang.String> fileData)
getAllZipData
in interface JmolZipUtility
is
- subfileList
- name0
- prefix for entry listingbinaryFileList
- |-separated list of files that should be saved as xx xx xx hex byte
strings. The directory listing is appended with ":asBinaryString"fileData
- private static void getAllZipDataStatic(java.io.InputStream is, java.lang.String[] subfileList, java.lang.String name0, java.lang.String binaryFileList, java.util.Map<java.lang.String,java.lang.String> fileData)
private static java.lang.String getBinaryStringForBytes(byte[] bytes)
public java.lang.Object getZipFileContents(java.io.BufferedInputStream bis, java.lang.String[] list, int listPtr, boolean asBufferedInputStream)
getZipFileContents
in interface JmolZipUtility
bis
- list
- listPtr
- asBufferedInputStream
- for Pmeshpublic byte[] getZipFileContentsAsBytes(java.io.BufferedInputStream bis, java.lang.String[] list, int listPtr)
getZipFileContentsAsBytes
in interface JmolZipUtility
public java.lang.String getZipDirectoryAsStringAndClose(java.io.BufferedInputStream bis)
getZipDirectoryAsStringAndClose
in interface JmolZipUtility
public java.lang.String[] getZipDirectoryAndClose(java.io.BufferedInputStream bis, boolean addManifest)
getZipDirectoryAndClose
in interface JmolZipUtility
private java.lang.String[] getZipDirectoryOrErrorAndClose(java.io.BufferedInputStream bis, boolean addManifest) throws java.io.IOException
java.io.IOException
private static java.lang.String getZipEntryAsString(java.io.InputStream is) throws java.io.IOException
java.io.IOException
private static boolean isJmolManifest(java.lang.String thisEntry)
public java.lang.String cacheZipContents(java.io.BufferedInputStream bis, java.lang.String fileName, java.util.Map<java.lang.String,byte[]> cache)
cacheZipContents
in interface JmolZipUtility
bis
- fileName
- cache
- public java.lang.String getGzippedBytesAsString(byte[] bytes)
getGzippedBytesAsString
in interface JmolZipUtility
static java.lang.String staticGetGzippedBytesAsString(byte[] bytes)
public java.io.InputStream getGzippedInputStream(byte[] bytes)
public java.io.InputStream newGZIPInputStream(java.io.BufferedInputStream bis) throws java.io.IOException
newGZIPInputStream
in interface JmolZipUtility
java.io.IOException
private java.lang.String addPngFileBytes(java.lang.String name, byte[] ret, int iFile, java.util.Hashtable<java.lang.Object,java.lang.String> crcMap, boolean isSparDir, java.lang.String newName, int ptSlash, JmolList<java.lang.Object> v)
public java.lang.Object writeZipFile(FileManager fm, Viewer viewer, java.lang.String outFileName, JmolList<java.lang.Object> fileNamesAndByteArrays, java.lang.String msg)
writeZipFile
in interface JmolZipUtility
public java.lang.String getSceneScript(java.lang.String[] scenes, java.util.Map<java.lang.String,java.lang.String> htScenes, JmolList<java.lang.Integer> list)
getSceneScript
in interface JmolZipUtility
private static java.lang.String wrapPathForAllFiles(java.lang.String cmd, java.lang.String strCatch)
public java.lang.Object createZipSet(FileManager fm, Viewer viewer, java.lang.String fileName, java.lang.String script, java.lang.String[] scripts, boolean includeRemoteFiles)
createZipSet
in interface JmolZipUtility
public java.lang.Object getAtomSetCollectionOrBufferedReaderFromZip(JmolAdapter adapter, java.io.InputStream is, java.lang.String fileName, java.lang.String[] zipDirectory, java.util.Map<java.lang.String,java.lang.Object> htParams, int subFilePtr, boolean asBufferedReader, boolean asBufferedInputStream)
getAtomSetCollectionOrBufferedReaderFromZip
in interface JmolZipUtility
private static SB checkSpecialData(java.io.InputStream is, java.lang.String[] zipDirectory)
is
- zipDirectory
- public java.lang.String[] spartanFileList(java.lang.String name, java.lang.String type)
spartanFileList
in interface JmolZipUtility
name
- type
- private static java.lang.String[] getSpartanDirs(java.lang.String outputFileData)
outputFileData
- private static java.lang.String[] getSpartanFileList(java.lang.String name, java.lang.String[] dirNums)
name
- dirNums
- static java.lang.String[] checkSpecialInZip(java.lang.String[] zipDirectory)
zipDirectory
- public byte[] getCachedPngjBytes(FileManager fm, java.lang.String pathName)
getCachedPngjBytes
in interface JmolZipUtility
public boolean cachePngjFile(FileManager fm, java.lang.String[] data)
cachePngjFile
in interface JmolZipUtility
private static java.lang.String shortSceneFilename(java.lang.String pathName)