Remote Systems
v6.4.1

com.ibm.etools.systems.core.archiveutils
Class SystemTarHandler

java.lang.Object
  extended bycom.ibm.etools.systems.core.archiveutils.SystemTarHandler
All Implemented Interfaces:
ISystemArchiveHandler

public class SystemTarHandler
extends Object
implements ISystemArchiveHandler

This class deals with tar files.


Field Summary
protected  File file
           
protected  long modTimeDuringCache
           
protected  com.ibm.etools.systems.core.archiveutils.SystemTarHandler.VirtualFileSystem vfs
           
 
Constructor Summary
SystemTarHandler(File file)
          Constructor for handler.
 
Method Summary
 boolean add(File[] files, String virtualPath, String[] names)
          A generalization of the add method.
 boolean add(File[] files, String virtualPath, String[] names, String[] encodings, boolean[] isTexts)
          A generalization of the add method.
 boolean add(File file, String virtualPath, String name)
          Compresses the file file and adds it to the archive, placing it in the virtual directory virtualPath.
 boolean add(File file, String virtualPath, String name, String encoding, boolean isText)
          Compresses the file file and adds it to the archive, saving it in the encoding specified by encoding if the isText is true.
 boolean add(File file, String virtualPath, String name, String encoding, ISystemFileTypes registry)
          Compresses the file file and adds it to the archive, saving it in the encoding specified by encoding if the isText is true.
protected  TarEntry appendEmptyFile(TarOutputStream outStream, String name)
          Creates a new tar entry and appends it to the tar output stream with the given name.
protected  void appendFile(File file, TarEntry entry, TarOutputStream outStream)
          Appends a file to a tar output stream, using the given entry that represents the file.
protected  TarEntry changeTarEntry(TarEntry entry, File file, String virtualPath)
          Changes a tar entry according to the file information and given path.
protected  TarEntry changeTarEntryName(TarEntry entry, String newName)
          Changes the name of a tar entry.
 boolean create()
          Turns the archive that this handler represents into a new, empty archive.
protected  void createCache()
          Reads the contents of the tar file, and caches the entries.
 boolean createFile(String fullVirtualName)
          Creates a new, empty file in the archive.
 boolean createFolder(String fullVirtualName)
          Creates a new, empty folder in the archive.
protected  void createTar(VirtualChild[] children, TarOutputStream outStream, HashMap renameMap)
          Creates a tar file from the given virtual child objects, using the given output stream and renaming entries according to hash map entries.
protected  void createTar(VirtualChild[] children, TarOutputStream outStream, HashSet omitChildren)
          Create a tar file from the given virtual child objects, using the given output stream and omitting the children in the given set.
protected  TarEntry createTarEntry(File file, String virtualPath)
          Creates a tar entry for a file with the given virtual path.
protected  boolean createVirtualObject(String name)
          Creates a virtual object that does not already exist in the virtual file system.
 boolean delete(String fullVirtualName)
          Deletes the entry fullVirtualName from the archive, and returns whether or not the deletion was successful.
 boolean exists()
           
 boolean exists(String fullVirtualName)
           
 boolean extractVirtualDirectory(String fullVirtualName, File destinationParent)
          Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent.
 boolean extractVirtualDirectory(String fullVirtualName, File destinationParent, File destination)
          Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent.
 boolean extractVirtualDirectory(String dir, File destinationParent, File destination, String sourceEncoding, boolean isText)
          Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent.
 boolean extractVirtualDirectory(String dir, File destinationParent, String sourceEncoding, boolean isText)
          Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent.
 boolean extractVirtualFile(String fullVirtualName, File destination)
          Extracts the virtual file named fullVirtualName from the archive, placing the results in destination.
 boolean extractVirtualFile(String fullVirtualName, File destination, String sourceEncoding, boolean isText)
          Extracts the virtual file named fullVirtualName from the archive, placing the results in destination.
 boolean fullRename(String fullVirtualName, String newFullVirtualName)
          Replaces the full name and path of the entry fullVirtualName with the new full name and path newFullVirtualName.
 File getArchive()
           
 String getArchiveComment()
           
 String getClassification(String fullVirtualName)
          Returns the classification for the entry with the given path.
 String getCommentFor(String fullVirtualName)
          Gets the user-defined comment for a specific entry in the archive.
 long getCompressedSizeFor(String fullVirtualName)
          Gets the amount of space taken up by a specific entry in the archive when it is in compressed form.
 String getCompressionMethodFor(String fullVirtualName)
          Gets the method used to compress a specific entry in the archive.
 File[] getFiles(String[] fullNames)
          Extracts and returns the specified list of virtual files from the archive.
 long getSizeFor(String fullVirtualName)
           
 String getStandardName(VirtualChild vc)
          Gets the archive-type specific standard name for the VirtualChild vc.
protected  TarFile getTarFile()
          Gets a tar file from the underlying file.
 long getTimeStampFor(String fullVirtualName)
           
protected  VirtualChild getVirtualChild(TarEntry entry)
          Returns a virtual child given a tar entry.
 VirtualChild[] getVirtualChildFolders(String fullVirtualName)
           
 VirtualChild[] getVirtualChildren(String fullVirtualName)
           
 VirtualChild[] getVirtualChildrenList()
           
 VirtualChild[] getVirtualChildrenList(String parent)
           
 VirtualChild getVirtualFile(String fullVirtualName)
           
protected  void init(File file)
          Initializes the handler from the given file and does caching.
 void listAllFiles(File parent, Vector found)
          Helper method. . . populates found with a collapsed list of all nodes in the subtree of the file system rooted at parent.
 boolean move(String fullVirtualName, String destinationVirtualPath)
          Moves the entry fullVirtualName to the location specified by destinationVirtualPath, while leaving the entry with the same name as before.
 boolean rename(String fullVirtualName, String newName)
          Renames the entry fullVirtualName to the new name newName while still leaving the entry in the same virtual directory.
 boolean replace(String fullVirtualName, File file, String name)
          Compress the file file and replace the virtual file referred to by fullVirtualName with the compressed file.
protected  void replaceFile(File newFile, boolean updateCache)
          Replaces the old tar file managed by the handler with the given file, and optionally update the cache.
 SystemSearchLineMatch[] search(String fullVirtualName, SystemSearchStringMatcher matcher)
          Searches for text within a virtual file in this archive.
protected  void updateCache()
          Updates the cache if the tar file has changed since the last time we cached.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

file

protected File file

modTimeDuringCache

protected long modTimeDuringCache

vfs

protected com.ibm.etools.systems.core.archiveutils.SystemTarHandler.VirtualFileSystem vfs
Constructor Detail

SystemTarHandler

public SystemTarHandler(File file)
                 throws IOException
Constructor for handler. Calls init.

Parameters:
file - the tar file.
Method Detail

init

protected void init(File file)
             throws IOException
Initializes the handler from the given file and does caching.

Parameters:
file -
Throws:
IOException

createCache

protected void createCache()
Reads the contents of the tar file, and caches the entries.


getTarFile

protected TarFile getTarFile()
Gets a tar file from the underlying file.

Returns:
the tar file, or null if the tar file does not exist.

updateCache

protected void updateCache()
                    throws IOException
Updates the cache if the tar file has changed since the last time we cached. Will not change the cache if the tar file hasn't been updated. Other methods should call this method before performing any operations on the cache and the underlying tar file.

Throws:
IOException

getVirtualChildrenList

public VirtualChild[] getVirtualChildrenList()
Specified by:
getVirtualChildrenList in interface ISystemArchiveHandler
Returns:
an array containing all the entries in the archive file in a flat format, where the entries' filenames are prepended by the path to the entry within the virtual file system. If there are no entries in the file, returns an array of size 0.
See Also:
ISystemArchiveHandler.getVirtualChildrenList()

getVirtualChildrenList

public VirtualChild[] getVirtualChildrenList(String parent)
Specified by:
getVirtualChildrenList in interface ISystemArchiveHandler
Returns:
an array containing all the entries in the archive file in a flat format, whose full paths begin with the String parent. Returns an array of length 0 if there are no such entries.
See Also:
ISystemArchiveHandler.getVirtualChildrenList(java.lang.String)

getVirtualChildren

public VirtualChild[] getVirtualChildren(String fullVirtualName)
Specified by:
getVirtualChildren in interface ISystemArchiveHandler
Returns:
an array containing the virtual children of the virtual directory named fullVirtualName. If fullVirtualName is "", returns the top level in the virtual file system tree. If there are no values to return, returns null.
See Also:
ISystemArchiveHandler.getVirtualChildren(java.lang.String)

getVirtualChildFolders

public VirtualChild[] getVirtualChildFolders(String fullVirtualName)
Specified by:
getVirtualChildFolders in interface ISystemArchiveHandler
Returns:
an array containing the virtual children of the virtual directory named fullVirtualName that are themselves directories. If fullVirtualName is "", returns the top level of directories in the virtual file system tree. If there are no values to return, returns null.
See Also:
ISystemArchiveHandler.getVirtualChildFolders(java.lang.String)

getVirtualFile

public VirtualChild getVirtualFile(String fullVirtualName)
Specified by:
getVirtualFile in interface ISystemArchiveHandler
Returns:
the virtual File or Folder referred to by fullVirtualName. This method never returns null. In cases where the VirtualChild does not physically exist in the archive, this method returns a new VirtualChild object whose exists() method returns false.
See Also:
ISystemArchiveHandler.getVirtualFile(java.lang.String)

exists

public boolean exists(String fullVirtualName)
Specified by:
exists in interface ISystemArchiveHandler
Returns:
Whether or not the virtual file or folder named fullVirtualName exists in the archive (physically).
See Also:
ISystemArchiveHandler.exists(java.lang.String)

getArchive

public File getArchive()
Specified by:
getArchive in interface ISystemArchiveHandler
Returns:
the archive that this handler deals with
See Also:
ISystemArchiveHandler.getArchive()

getTimeStampFor

public long getTimeStampFor(String fullVirtualName)
Specified by:
getTimeStampFor in interface ISystemArchiveHandler
Returns:
the current timestamp (last modified) for the entry in the archive named fullVirtualName
See Also:
ISystemArchiveHandler.getTimeStampFor(java.lang.String)

getSizeFor

public long getSizeFor(String fullVirtualName)
Specified by:
getSizeFor in interface ISystemArchiveHandler
Returns:
the current size (uncompressed) for the entry in the archive named fullVirtualName
See Also:
ISystemArchiveHandler.getSizeFor(java.lang.String)

extractVirtualFile

public boolean extractVirtualFile(String fullVirtualName,
                                  File destination)
Description copied from interface: ISystemArchiveHandler
Extracts the virtual file named fullVirtualName from the archive, placing the results in destination.

Specified by:
extractVirtualFile in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The full path and name of the virtual file in the archive.
destination - The destination file for the extracted virtual file.
Returns:
true iff the extraction is successful

extractVirtualDirectory

public boolean extractVirtualDirectory(String fullVirtualName,
                                       File destinationParent)
Description copied from interface: ISystemArchiveHandler
Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent.

Specified by:
extractVirtualDirectory in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The full name of the virtual directory to extract
destinationParent - A handle to the directory in which the extracted directory will be placed as a subdirectory.
Returns:
true iff the extraction is successful
See Also:
ISystemArchiveHandler.extractVirtualDirectory(java.lang.String, java.io.File)

extractVirtualDirectory

public boolean extractVirtualDirectory(String fullVirtualName,
                                       File destinationParent,
                                       File destination)
Description copied from interface: ISystemArchiveHandler
Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent. The results will be named destination.getName() rather than dir's name.

Specified by:
extractVirtualDirectory in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The full name of the virtual directory to extract
destinationParent - A handle to the directory in which the extracted directory will be placed as a subdirectory.
destination - A handle to the directory that will be created. Whatever contents are in that directory will be replaced with what is extracted from the archive.
Returns:
true iff the extraction is successful
See Also:
ISystemArchiveHandler.extractVirtualDirectory(java.lang.String, java.io.File, java.io.File)

add

public boolean add(File file,
                   String virtualPath,
                   String name)
Description copied from interface: ISystemArchiveHandler
Compresses the file file and adds it to the archive, placing it in the virtual directory virtualPath. Pass the name as the parameter name. If the virtual path does not exist in the archive, create it. If file is a directory, copy it and its contents into the archive, maintaining the tree structure.

Specified by:
add in interface ISystemArchiveHandler
Returns:
true if and only if the add was successful
See Also:
ISystemArchiveHandler.add(java.io.File, java.lang.String, java.lang.String)

listAllFiles

public void listAllFiles(File parent,
                         Vector found)
Helper method. . . populates found with a collapsed list of all nodes in the subtree of the file system rooted at parent.


add

public boolean add(File[] files,
                   String virtualPath,
                   String[] names)
Description copied from interface: ISystemArchiveHandler
A generalization of the add method. Compresses the array of files files and adds each of them to the archive, placing them in the virtual directory virtualPath. Pass the names of the files as the parameter names, where files[i] has the name names[i]. If the virtual path does not exist in the archive, create it.

Specified by:
add in interface ISystemArchiveHandler
Returns:
true if and only if the add was successful
See Also:
ISystemArchiveHandler.add(java.io.File[], java.lang.String, java.lang.String[])

createTar

protected void createTar(VirtualChild[] children,
                         TarOutputStream outStream,
                         HashSet omitChildren)
                  throws IOException
Create a tar file from the given virtual child objects, using the given output stream and omitting the children in the given set.

Parameters:
children - an array of virtual children from which to create a tar file.
outStream - the tar output stream to use.
omitChildren - the set of names for children that should be omitted from the given array of virtual children.
Throws:
IOException - if an I/O exception occurs.

appendFile

protected void appendFile(File file,
                          TarEntry entry,
                          TarOutputStream outStream)
                   throws IOException
Appends a file to a tar output stream, using the given entry that represents the file.

Parameters:
file - the file to be appended to the tar output stream.
entry - the entry which represents the file.
outStream - the tar output stream.
Throws:
IOException - if an I/O error occurs.

createTarEntry

protected TarEntry createTarEntry(File file,
                                  String virtualPath)
Creates a tar entry for a file with the given virtual path. The entry will contain the size and last modified time of the file. The entry's checksum will be calculated.

Parameters:
file - the file for which to create a tar entry.
Returns:
the tar entry representing the given file.

changeTarEntry

protected TarEntry changeTarEntry(TarEntry entry,
                                  File file,
                                  String virtualPath)
Changes a tar entry according to the file information and given path. The given path will be the new name of the entry. The size and last modified fields will be changed to the file's size and last modified time. The entry's checksum will be calculated.

Parameters:
entry - the entry that needs to be changed.
file - the file for which the tar entry is being changed.
virtualPath - the virtual path for the entry.
Returns:
the changed entry.

getVirtualChild

protected VirtualChild getVirtualChild(TarEntry entry)
Returns a virtual child given a tar entry.

Parameters:
entry - a tar entry.
Returns:
the virtual child that represents the tar entry.

replaceFile

protected void replaceFile(File newFile,
                           boolean updateCache)
                    throws IOException
Replaces the old tar file managed by the handler with the given file, and optionally update the cache.

Parameters:
newFile - the new tar file.
updateCache - true to update the cache, false otherwise. Only specify false if the cache has already been updated to reflect the contents of this new file.
Throws:
IOException - if an I/O problem occurs.

replace

public boolean replace(String fullVirtualName,
                       File file,
                       String name)
Description copied from interface: ISystemArchiveHandler
Compress the file file and replace the virtual file referred to by fullVirtualName with the compressed file. Pass the name of the file as the parameter name.

Specified by:
replace in interface ISystemArchiveHandler
Returns:
true if and only if the replace was successful
See Also:
ISystemArchiveHandler.replace(java.lang.String, java.io.File, java.lang.String)

delete

public boolean delete(String fullVirtualName)
Description copied from interface: ISystemArchiveHandler
Deletes the entry fullVirtualName from the archive, and returns whether or not the deletion was successful.

Specified by:
delete in interface ISystemArchiveHandler
See Also:
ISystemArchiveHandler.delete(java.lang.String)

rename

public boolean rename(String fullVirtualName,
                      String newName)
Description copied from interface: ISystemArchiveHandler
Renames the entry fullVirtualName to the new name newName while still leaving the entry in the same virtual directory. Returns true if and only if the rename was successfull.

Specified by:
rename in interface ISystemArchiveHandler
See Also:
ISystemArchiveHandler.rename(java.lang.String, java.lang.String)

move

public boolean move(String fullVirtualName,
                    String destinationVirtualPath)
Description copied from interface: ISystemArchiveHandler
Moves the entry fullVirtualName to the location specified by destinationVirtualPath, while leaving the entry with the same name as before. Returns true if and only if the move was successfull.

Specified by:
move in interface ISystemArchiveHandler
See Also:
ISystemArchiveHandler.move(java.lang.String, java.lang.String)

fullRename

public boolean fullRename(String fullVirtualName,
                          String newFullVirtualName)
Description copied from interface: ISystemArchiveHandler
Replaces the full name and path of the entry fullVirtualName with the new full name and path newFullVirtualName. Returns true if and only if the operation was successfull.

Specified by:
fullRename in interface ISystemArchiveHandler
See Also:
ISystemArchiveHandler.fullRename(java.lang.String, java.lang.String)

createTar

protected void createTar(VirtualChild[] children,
                         TarOutputStream outStream,
                         HashMap renameMap)
                  throws IOException
Creates a tar file from the given virtual child objects, using the given output stream and renaming entries according to hash map entries.

Parameters:
children - an array of virtual children from which to create a tar file.
outStream - the tar output stream to use.
renameMap - a map containing associations between old names and new names. Old names are the keys in the map, and the values are the new names.
Throws:
IOException - if an I/O exception occurs.

changeTarEntryName

protected TarEntry changeTarEntryName(TarEntry entry,
                                      String newName)
Changes the name of a tar entry. Also calculates the new checksum for the entry.

Parameters:
entry - the entry for which the name has to be changed.
newName - the new name for the entry.
Returns:
the changed entry.

getFiles

public File[] getFiles(String[] fullNames)
Description copied from interface: ISystemArchiveHandler
Extracts and returns the specified list of virtual files from the archive.

Specified by:
getFiles in interface ISystemArchiveHandler
Parameters:
fullNames - The list of files to return
Returns:
An array of handles to the extracted files. If fullNames has length 0 then this method returns an array of length 0.
See Also:
ISystemArchiveHandler.getFiles(java.lang.String[])

createFolder

public boolean createFolder(String fullVirtualName)
Description copied from interface: ISystemArchiveHandler
Creates a new, empty folder in the archive. If parent folders do not exist either, creates them.

Specified by:
createFolder in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The full name and path of the new folder within the virtual file system.
Returns:
Whether or not the creation was successful.
See Also:
ISystemArchiveHandler.createFolder(java.lang.String)

createFile

public boolean createFile(String fullVirtualName)
Description copied from interface: ISystemArchiveHandler
Creates a new, empty file in the archive. If parent folders do not exist either, creates them.

Specified by:
createFile in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The full name and path of the new file within the virtual file system.
Returns:
Whether or not the creation was successful.
See Also:
ISystemArchiveHandler.createFile(java.lang.String)

createVirtualObject

protected boolean createVirtualObject(String name)
Creates a virtual object that does not already exist in the virtual file system. Creates an empty file in the tar file.

Parameters:
name - the name of the virtual object.
Returns:
true if the object was created successfully, false otherwise.

appendEmptyFile

protected TarEntry appendEmptyFile(TarOutputStream outStream,
                                   String name)
                            throws IOException
Creates a new tar entry and appends it to the tar output stream with the given name.

Parameters:
outStream - the tar output stream.
name - the name of the new tar entry.
Returns:
the newly created tar entry.
Throws:
IOException - if an I/O error occurs.

getStandardName

public String getStandardName(VirtualChild vc)
Description copied from interface: ISystemArchiveHandler
Gets the archive-type specific standard name for the VirtualChild vc. For example, for Zips, if vc is a directory, then the standard name must end with a "/".

Specified by:
getStandardName in interface ISystemArchiveHandler
See Also:
ISystemArchiveHandler.getStandardName(com.ibm.etools.systems.core.archiveutils.VirtualChild)

create

public boolean create()
Description copied from interface: ISystemArchiveHandler
Turns the archive that this handler represents into a new, empty archive. (The archive could not exist before, in which case this would be a true creation).

Specified by:
create in interface ISystemArchiveHandler
Returns:
Whether or not the blank archive was successfuly created.
See Also:
ISystemArchiveHandler.create()

search

public SystemSearchLineMatch[] search(String fullVirtualName,
                                      SystemSearchStringMatcher matcher)
Description copied from interface: ISystemArchiveHandler
Searches for text within a virtual file in this archive. A good implementation will not actually extract the file to disk.

Specified by:
search in interface ISystemArchiveHandler
Parameters:
fullVirtualName - the virtual file to search.
matcher - the pattern matcher to use.
Returns:
an array of match objects corresponding to lines where matches were found. Returns an empty array if there are no results.

exists

public boolean exists()
Specified by:
exists in interface ISystemArchiveHandler
Returns:
Whether or not the handler exists. Usually false if the archive is corrupted or unreadable.

getCommentFor

public String getCommentFor(String fullVirtualName)
Description copied from interface: ISystemArchiveHandler
Gets the user-defined comment for a specific entry in the archive.

Specified by:
getCommentFor in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The entry who's comment is desired
Returns:
the comment as a String or "" if there is none

getCompressedSizeFor

public long getCompressedSizeFor(String fullVirtualName)
Description copied from interface: ISystemArchiveHandler
Gets the amount of space taken up by a specific entry in the archive when it is in compressed form. Compare with getSizeFor(String) which gets the size of the entry after it is decompressed.

Specified by:
getCompressedSizeFor in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The entry who's compressed size is desired
Returns:
the compressed size of the specified entry, or 0 if the entry is not found. If the archive is not a compression type (ie. tar), return the same as getSizeFor(String).

getCompressionMethodFor

public String getCompressionMethodFor(String fullVirtualName)
Description copied from interface: ISystemArchiveHandler
Gets the method used to compress a specific entry in the archive.

Specified by:
getCompressionMethodFor in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The entry who's compression method is desired
Returns:
The compression method of the specified entry, or "" if none.

getArchiveComment

public String getArchiveComment()
Specified by:
getArchiveComment in interface ISystemArchiveHandler
Returns:
The comment associated with this archive, or "" if there is none.

add

public boolean add(File file,
                   String virtualPath,
                   String name,
                   String encoding,
                   ISystemFileTypes registry)
Description copied from interface: ISystemArchiveHandler
Compresses the file file and adds it to the archive, saving it in the encoding specified by encoding if the isText is true. placing it in the virtual directory virtualPath. Pass the name as the parameter name. If the virtual path does not exist in the archive, create it. If file is a directory, copy it and its contents into the archive, maintaining the tree structure.

Specified by:
add in interface ISystemArchiveHandler
Returns:
true if and only if the add was successful

add

public boolean add(File file,
                   String virtualPath,
                   String name,
                   String encoding,
                   boolean isText)
Description copied from interface: ISystemArchiveHandler
Compresses the file file and adds it to the archive, saving it in the encoding specified by encoding if the isText is true. placing it in the virtual directory virtualPath. Pass the name as the parameter name. If the virtual path does not exist in the archive, create it. If file is a directory, copy it and its contents into the archive, maintaining the tree structure.

Specified by:
add in interface ISystemArchiveHandler
Returns:
true if and only if the add was successful

add

public boolean add(File[] files,
                   String virtualPath,
                   String[] names,
                   String[] encodings,
                   boolean[] isTexts)
Description copied from interface: ISystemArchiveHandler
A generalization of the add method. Compresses the array of files files and adds each of them to the archive, placing them in the virtual directory virtualPath. Save the i'th file in the i'th encoding (if isText[i] is true) specified by encodings. Pass the names of the files as the parameter names, where files[i] has the name names[i]. If the virtual path does not exist in the archive, create it.

Specified by:
add in interface ISystemArchiveHandler
Returns:
true if and only if the add was successful

extractVirtualDirectory

public boolean extractVirtualDirectory(String dir,
                                       File destinationParent,
                                       File destination,
                                       String sourceEncoding,
                                       boolean isText)
Description copied from interface: ISystemArchiveHandler
Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent. The results will be named destination.getName() rather than dir's name. Extracts to the native encoding (if isText), but assumes that the source was archived using sourceEncoding.

Specified by:
extractVirtualDirectory in interface ISystemArchiveHandler
Parameters:
dir - The full name of the virtual directory to extract
destinationParent - A handle to the directory in which the extracted directory will be placed as a subdirectory.
destination - A handle to the directory that will be created. Whatever contents are in that directory will be replaced with what is extracted from the archive.
sourceEncoding - The encoding of the files in the archive.
isText - Whether or not the files to be extracted in the directory are all text files
Returns:
true iff the extraction is successful

extractVirtualDirectory

public boolean extractVirtualDirectory(String dir,
                                       File destinationParent,
                                       String sourceEncoding,
                                       boolean isText)
Description copied from interface: ISystemArchiveHandler
Extracts the directory dir (and its children) from the archive and places the results in the directory destinationParent. Extracts to the native encoding (if isText), but assumes that the source was archived using sourceEncoding.

Specified by:
extractVirtualDirectory in interface ISystemArchiveHandler
Parameters:
dir - The full name of the virtual directory to extract
destinationParent - A handle to the directory in which the extracted directory will be placed as a subdirectory.
sourceEncoding - The encoding of the files in the archive.
isText - Whether or not the files in the directory are text files
Returns:
true iff the extraction is successful

extractVirtualFile

public boolean extractVirtualFile(String fullVirtualName,
                                  File destination,
                                  String sourceEncoding,
                                  boolean isText)
Description copied from interface: ISystemArchiveHandler
Extracts the virtual file named fullVirtualName from the archive, placing the results in destination. Extracts to the native encoding, but assumes that the source was archived using sourceEncoding if isText is true.

Specified by:
extractVirtualFile in interface ISystemArchiveHandler
Parameters:
fullVirtualName - The full path and name of the virtual file in the archive.
destination - The destination file for the extracted virtual file.
sourceEncoding - The encoding of the file in the archive.
isText - Whether or not the virtual file is a text file.
Returns:
true iff the extraction is successful

getClassification

public String getClassification(String fullVirtualName)
Description copied from interface: ISystemArchiveHandler
Returns the classification for the entry with the given path.

Specified by:
getClassification in interface ISystemArchiveHandler
Parameters:
fullVirtualName - the virtual name.
Returns:
the classification.
See Also:
ISystemArchiveHandler.getClassification(java.lang.String)

Remote Systems
v6.4.1

Copyright © 2005 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.