net.sf.sevenzipjbinding.impl
Class InArchiveImpl

java.lang.Object
  extended by net.sf.sevenzipjbinding.impl.InArchiveImpl
All Implemented Interfaces:
ISevenZipInArchive

public class InArchiveImpl
extends java.lang.Object
implements ISevenZipInArchive

Implementation of ISevenZipInArchive.

Version:
4.65-1
Author:
Boris Brodski

Constructor Summary
InArchiveImpl()
           
 
Method Summary
 void close()
          Close archive.
 void extract(int[] indices, boolean testMode, IArchiveExtractCallback extractCallback)
          Extract archive items with indices indices.
Note: passing sorted indices array is more efficient.
 ExtractOperationResult extractSlow(int index, ISequentialOutStream outStream)
          Extract one item from archive.
 ExtractOperationResult extractSlow(int index, ISequentialOutStream outStream, java.lang.String password)
          Extract one item from archive.
 ArchiveFormat getArchiveFormat()
          $Return archive format of the opened archive.
 java.lang.Object getArchiveProperty(PropID propID)
          Get value of archive property propID.
 PropertyInfo getArchivePropertyInfo(PropID propID)
          Get information about archive property propID.

Use PropID.getPropIDByIndex(int) to get PropID enumeration element with specified index.
 int getNumberOfArchiveProperties()
          Get count of properties of archive
 int getNumberOfItems()
          Returns count of items in archive.
 int getNumberOfProperties()
          Return count of properties of each archive item
 java.lang.Object getProperty(int index, PropID propID)
          Get value of property propID of the item with the index index.
 PropertyInfo getPropertyInfo(PropID propID)
          Get information about archive item property propID
 ISimpleInArchive getSimpleInterface()
          Return simple 7-Zip interface for the archive
 java.lang.String getStringArchiveProperty(PropID propID)
          Return property value in human readable form.
 java.lang.String getStringProperty(int index, PropID propID)
          Return property content in human readable form.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InArchiveImpl

public InArchiveImpl()
Method Detail

extract

public void extract(int[] indices,
                    boolean testMode,
                    IArchiveExtractCallback extractCallback)
             throws SevenZipException
Extract archive items with indices indices.
Note: passing sorted indices array is more efficient. But it isn't suggested to manually sort indices with something like Arrays.sort(int[]). Sort indices only, if you can do it quicker, that generic sort algorithms: O(n*log(n)).

Specified by:
extract in interface ISevenZipInArchive
Parameters:
indices - (optional) array of indices of archive items to extract.
null - all archive items.
testMode - true - test archive items only
false - extract archive items
extractCallback - extraction callback object. Optional implementation of ICryptoGetTextPassword.
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

extractSlow

public ExtractOperationResult extractSlow(int index,
                                          ISequentialOutStream outStream)
                                   throws SevenZipException
Extract one item from archive. Multiple calls of this method are inefficient for some archive types.

Specified by:
extractSlow in interface ISevenZipInArchive
Parameters:
index - index of the item to extract
outStream - sequential output stream to get content of the item
Returns:
result status of the extraction
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

extractSlow

public ExtractOperationResult extractSlow(int index,
                                          ISequentialOutStream outStream,
                                          java.lang.String password)
                                   throws SevenZipException
Extract one item from archive. Multiple calls of this method are inefficient for some archive types.

Specified by:
extractSlow in interface ISevenZipInArchive
Parameters:
index - index of the item to extract
outStream - sequential output stream to get content of the item
password - password to use
Returns:
result status of the extraction
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getArchiveProperty

public java.lang.Object getArchiveProperty(PropID propID)
                                    throws SevenZipException
Get value of archive property propID.

Specified by:
getArchiveProperty in interface ISevenZipInArchive
Parameters:
propID - property to get value of
Returns:
value of archive property propID
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getStringArchiveProperty

public java.lang.String getStringArchiveProperty(PropID propID)
                                          throws SevenZipException
Return property value in human readable form.

Specified by:
getStringArchiveProperty in interface ISevenZipInArchive
Parameters:
propID - property to return
Returns:
property propID of archive in human readable form.
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getArchivePropertyInfo

public PropertyInfo getArchivePropertyInfo(PropID propID)
                                    throws SevenZipException
Get information about archive property propID.

Use PropID.getPropIDByIndex(int) to get PropID enumeration element with specified index.

Specified by:
getArchivePropertyInfo in interface ISevenZipInArchive
Parameters:
propID - archive property
Returns:
information about archive property
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getNumberOfArchiveProperties

public int getNumberOfArchiveProperties()
                                 throws SevenZipException
Get count of properties of archive

Specified by:
getNumberOfArchiveProperties in interface ISevenZipInArchive
Returns:
count of properties of archive
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getNumberOfProperties

public int getNumberOfProperties()
                          throws SevenZipException
Return count of properties of each archive item

Specified by:
getNumberOfProperties in interface ISevenZipInArchive
Returns:
count of properties of each archive item
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getPropertyInfo

public PropertyInfo getPropertyInfo(PropID propID)
                             throws SevenZipException
Get information about archive item property propID

Specified by:
getPropertyInfo in interface ISevenZipInArchive
Parameters:
propID - item property
Returns:
information about property of archive item
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

close

public void close()
           throws SevenZipException
Close archive. This method should be the last one called on the implementation of this interface. After this call no more methods should be called.

Specified by:
close in interface ISevenZipInArchive
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getNumberOfItems

public int getNumberOfItems()
                     throws SevenZipException
Returns count of items in archive. Depending on archive type directories are considered to be items or not.

Specified by:
getNumberOfItems in interface ISevenZipInArchive
Returns:
count of items in archive
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getProperty

public java.lang.Object getProperty(int index,
                                    PropID propID)
                             throws SevenZipException
Get value of property propID of the item with the index index.

Specified by:
getProperty in interface ISevenZipInArchive
Parameters:
index - index of item to get property value
propID - property to get value of
Returns:
value of property propID of item with index index
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getStringProperty

public java.lang.String getStringProperty(int index,
                                          PropID propID)
                                   throws SevenZipException
Return property content in human readable form. Example for PropID.ATTRIBUTES: D for a directory.

Specified by:
getStringProperty in interface ISevenZipInArchive
Parameters:
index - index of item in archive to get property of
propID - property to return
Returns:
property propID of item with id index in human readable form.
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding intern error. Check exception message for more information.

getSimpleInterface

public ISimpleInArchive getSimpleInterface()
Return simple 7-Zip interface for the archive

Specified by:
getSimpleInterface in interface ISevenZipInArchive
Returns:
simple 7-Zip interface for the archive

getArchiveFormat

public ArchiveFormat getArchiveFormat()
$Return archive format of the opened archive.

Specified by:
getArchiveFormat in interface ISevenZipInArchive
Returns:
archive format of the opened archive