Package nom.tam.fits.compress
Class ExternalBZip2CompressionProvider
java.lang.Object
nom.tam.fits.compress.ExternalBZip2CompressionProvider
- All Implemented Interfaces:
ICompressProvider
@Deprecated
public class ExternalBZip2CompressionProvider
extends Object
implements ICompressProvider
Deprecated.
(for internal use) BZIP2 (
.bz2) input stream decompression with a preference for using an
external system command. You can use this class to decompress files that have been compressed with the UNIX
bzip2 tool and have the characteristic .bz2 file name extension. It effectively provides the same
functionality as BZip2CompressionProvider, but has a preference for calling on the system bzip2
command first to do the lifting. If that fails it will call on CompressionManager to provide a suitable
decompressor (which will give it BZip2CompressionProvider). Since the bzip2 tool is UNIX-specific, it
is not entirely portable. It also requires the environment variable BZIP_DECOMPRESSOR to be set to
provide the system executable to use. As a result, you are probably better off relying on the mentioned other classes
directly for this functionality.- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Decompresses data from an input stream.Deprecated.Returns the system command to use for decompressing.bz2compressed files.intpriority()Deprecated.Returns the priority of this method.booleanprovides(int mag1, int mag2) Deprecated.Checks if this compression method can support the magic integer number that is used to identify the type of compression at the beginning of compressed files, and is stored as the first 2 bytes of compressed data.
-
Constructor Details
-
ExternalBZip2CompressionProvider
public ExternalBZip2CompressionProvider()Deprecated.
-
-
Method Details
-
getBzip2Cmd
Deprecated.Returns the system command to use for decompressing.bz2compressed files. It requires theBZIP_DECOMPRESSORenvironment variable to be set to inform us as to what executable (including path) should be used. If there is no such environment variable set, it will returnnull- Returns:
- The system command for decompressing
.bz2files, ornullif there is noBZIP_DECOMPRESSORenvironment variable that could inform us.
-
decompress
Deprecated.Description copied from interface:ICompressProviderDecompresses data from an input stream.- Specified by:
decompressin interfaceICompressProvider- Parameters:
in- the input stream containing compressed data- Returns:
- a new input stream containing the decompressed data
- Throws:
IOException- if there was an IO error while accessing the input streamFitsException- if the decompression cannot be performed for some reason that is not related to the input per se.
-
priority
public int priority()Deprecated.Description copied from interface:ICompressProviderReturns the priority of this method.CompressionManagerwill use this to select the 'best' compression class when multiple compression classes can provide decompression support for a given input stream. Claases that have a higher priority will be preferred.- Specified by:
priorityin interfaceICompressProvider- Returns:
- the priority of this decompression method vs similar other compression methods that may be avaialble.
- See Also:
-
provides
public boolean provides(int mag1, int mag2) Deprecated.Description copied from interface:ICompressProviderChecks if this compression method can support the magic integer number that is used to identify the type of compression at the beginning of compressed files, and is stored as the first 2 bytes of compressed data.- Specified by:
providesin interfaceICompressProvider- Parameters:
mag1- the first byte of the compressed filemag2- the second byte of the compressed file- Returns:
trueif this class can be used to decompress the given file, or elsefalse.
-
ZCompressionProvider, or the more genericCompressionManagerwith a preference toward using the system command if possible, instead.