net.sf.sevenzipjbinding
Interface IInArchive

All Superinterfaces:
java.io.Closeable
All Known Implementing Classes:
InArchiveImpl

public interface IInArchive
extends java.io.Closeable

The interface provides functionality to query archive and archive item parameters, but also to extract item content.

Standard way to get implementation is to use SevenZip.

The last call should be a call to the method close(). After this call no more methods should be called.

Since:
4.65-1
Author:
Boris Brodski

Method Summary
 void close()
          Close archive.
 void extract(int[] indices, boolean testMode, IArchiveExtractCallback extractCallback)
          Extract archive items with indices indices.
 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(int index)
          Get information about archive property with index index.
 IOutUpdateArchive<IOutItemAllFormats> getConnectedOutArchive()
          Get an instance of IOutUpdateArchive connected to the current archive.
 IOutUpdateArchive7z getConnectedOutArchive7z()
          Get an instance of IOutUpdateArchive7z connected to the current archive.
 IOutUpdateArchiveBZip2 getConnectedOutArchiveBZip2()
          Get an instance of IOutUpdateArchiveBZip2 connected to the current archive.
 IOutUpdateArchiveGZip getConnectedOutArchiveGZip()
          Get an instance of IOutUpdateArchiveGZip connected to the current archive.
 IOutUpdateArchiveTar getConnectedOutArchiveTar()
          Get an instance of IOutUpdateArchiveTar connected to the current archive.
 IOutUpdateArchiveZip getConnectedOutArchiveZip()
          Get an instance of IOutUpdateArchiveZip connected to the current archive.
 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(int index)
          Get information about archive item property with index index.
 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.
 

Method Detail

close

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 java.io.Closeable
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getNumberOfItems

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

Returns:
count of items in archive
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getProperty

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

Parameters:
index - index of item to get property value. 0 - first archive item.
propID - property to get value of
Returns:
value of property propID of item with index index
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getStringProperty

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.

Parameters:
index - index of item in archive to get property of. 0 - first archive item.
propID - property to return
Returns:
property propID of item with id index in human readable form.
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

extract

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)).

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 error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

extractSlow

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

Parameters:
index - index of the item to extract. 0 - first archive item.
outStream - sequential output stream to get content of the item
Returns:
result status of the extraction
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

extractSlow

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.

Parameters:
index - index of the item to extract. 0 - first archive item.
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 error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getArchiveProperty

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

Parameters:
propID - property to get value of
Returns:
value of archive property propID
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getStringArchiveProperty

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

Parameters:
propID - property to return
Returns:
property propID of archive in human readable form.
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getNumberOfProperties

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

Returns:
count of properties of each archive item
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getPropertyInfo

PropertyInfo getPropertyInfo(int index)
                             throws SevenZipException
Get information about archive item property with index index.

Parameters:
index - property index
Returns:
information about property of archive item
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.
See Also:
getNumberOfProperties()

getNumberOfArchiveProperties

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

Returns:
count of properties of archive
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getArchivePropertyInfo

PropertyInfo getArchivePropertyInfo(int index)
                                    throws SevenZipException
Get information about archive property with index index.

Parameters:
index - property index
Returns:
information about archive property
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.
See Also:
getNumberOfArchiveProperties()

getSimpleInterface

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

Returns:
simple 7-Zip interface for the archive

getArchiveFormat

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

Returns:
archive format of the opened archive

getConnectedOutArchive

IOutUpdateArchive<IOutItemAllFormats> getConnectedOutArchive()
                                                             throws SevenZipException
Get an instance of IOutUpdateArchive connected to the current archive. This is a part of the archive format non-specific API. The new instance allows modification of the currently opened archive. Multiple call of this methods return the same instance. Closing the returned instance of IOutUpdateArchive isn't necessary, since it will be closed automatically. This happens when the parent instance of the IInArchive get closed. Calls to the Closeable.close() methods of such connected instances will be ignored.

Returns:
an instance of the IOutUpdateArchive interface
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getConnectedOutArchive7z

IOutUpdateArchive7z getConnectedOutArchive7z()
                                             throws SevenZipException
Get an instance of IOutUpdateArchive7z connected to the current archive. This is a part of the archive format specific API. The new instance only allows modification of the currently opened 7z archive. Multiple call of this methods return the same instance. Closing the returned instance of IOutUpdateArchive7z isn't necessary, since it will be closed automatically. This happens when the parent instance of the IInArchive get closed. Calls to the Closeable.close() methods of such connected instances will be ignored.

Returns:
an instance of the IOutUpdateArchive interface
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getConnectedOutArchiveZip

IOutUpdateArchiveZip getConnectedOutArchiveZip()
                                               throws SevenZipException
Get an instance of IOutUpdateArchiveZip connected to the current archive. This is a part of the archive format specific API. The new instance only allows modification of the currently opened Zip archive. Multiple call of this methods return the same instance. Closing the returned instance of IOutUpdateArchiveZip isn't necessary, since it will be closed automatically. This happens when the parent instance of the IInArchive get closed. Calls to the Closeable.close() methods of such connected instances will be ignored.

Returns:
an instance of the IOutUpdateArchive interface
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getConnectedOutArchiveTar

IOutUpdateArchiveTar getConnectedOutArchiveTar()
                                               throws SevenZipException
Get an instance of IOutUpdateArchiveTar connected to the current archive. This is a part of the archive format specific API. The new instance only allows modification of the currently opened Tar archive. Multiple call of this methods return the same instance. Closing the returned instance of IOutUpdateArchiveTar isn't necessary, since it will be closed automatically. This happens when the parent instance of the IInArchive get closed. Calls to the Closeable.close() methods of such connected instances will be ignored.

Returns:
an instance of the IOutUpdateArchive interface
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getConnectedOutArchiveGZip

IOutUpdateArchiveGZip getConnectedOutArchiveGZip()
                                                 throws SevenZipException
Get an instance of IOutUpdateArchiveGZip connected to the current archive. This is a part of the archive format specific API. The new instance only allows modification of the currently opened GZip archive. Multiple call of this methods return the same instance. Closing the returned instance of IOutUpdateArchiveGZip isn't necessary, since it will be closed automatically. This happens when the parent instance of the IInArchive get closed. Calls to the Closeable.close() methods of such connected instances will be ignored.

Returns:
an instance of the IOutUpdateArchive interface
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.

getConnectedOutArchiveBZip2

IOutUpdateArchiveBZip2 getConnectedOutArchiveBZip2()
                                                   throws SevenZipException
Get an instance of IOutUpdateArchiveBZip2 connected to the current archive. This is a part of the archive format specific API. The new instance only allows modification of the currently opened BZip2 archive. Multiple call of this methods return the same instance. Closing the returned instance of IOutUpdateArchiveBZip2 isn't necessary, since it will be closed automatically. This happens when the parent instance of the IInArchive get closed. Calls to the Closeable.close() methods of such connected instances will be ignored.

Returns:
an instance of the IOutUpdateArchive interface
Throws:
SevenZipException - 7-Zip or 7-Zip-JBinding error occur. Use SevenZipException.printStackTraceExtended() to get stack traces of this SevenZipException and of the all thrown 'cause by' exceptions.