diff options
Diffstat (limited to 'libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPCompressedData.java')
-rw-r--r-- | libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPCompressedData.java | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPCompressedData.java b/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPCompressedData.java deleted file mode 100644 index 36e684416..000000000 --- a/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPCompressedData.java +++ /dev/null @@ -1,143 +0,0 @@ -package org.spongycastle.openpgp; - -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.util.zip.Inflater; -import java.util.zip.InflaterInputStream; - -import org.spongycastle.bcpg.BCPGInputStream; -import org.spongycastle.bcpg.CompressedDataPacket; -import org.spongycastle.bcpg.CompressionAlgorithmTags; -import org.spongycastle.apache.bzip2.CBZip2InputStream; - -/** - * Compressed data objects. - */ -public class PGPCompressedData - implements CompressionAlgorithmTags -{ - CompressedDataPacket data; - - public PGPCompressedData( - BCPGInputStream pIn) - throws IOException - { - data = (CompressedDataPacket)pIn.readPacket(); - } - - /** - * Return the algorithm used for compression - * - * @return algorithm code - */ - public int getAlgorithm() - { - return data.getAlgorithm(); - } - - /** - * Return the raw input stream contained in the object. - * - * @return InputStream - */ - public InputStream getInputStream() - { - return data.getInputStream(); - } - - /** - * Return an uncompressed input stream which allows reading of the - * compressed data. - * - * @return InputStream - * @throws PGPException - */ - public InputStream getDataStream() - throws PGPException - { - if (this.getAlgorithm() == UNCOMPRESSED) - { - return this.getInputStream(); - } - if (this.getAlgorithm() == ZIP) - { - return new InflaterInputStream(this.getInputStream(), new Inflater(true)) - { - // If the "nowrap" inflater option is used the stream can - // apparently overread - we override fill() and provide - // an extra byte for the end of the input stream to get - // around this. - // - // Totally weird... - // - protected void fill() throws IOException - { - if (eof) - { - throw new EOFException("Unexpected end of ZIP input stream"); - } - - len = this.in.read(buf, 0, buf.length); - - if (len == -1) - { - buf[0] = 0; - len = 1; - eof = true; - } - - inf.setInput(buf, 0, len); - } - - private boolean eof = false; - }; - } - if (this.getAlgorithm() == ZLIB) - { - return new InflaterInputStream(this.getInputStream()) - { - // If the "nowrap" inflater option is used the stream can - // apparently overread - we override fill() and provide - // an extra byte for the end of the input stream to get - // around this. - // - // Totally weird... - // - protected void fill() throws IOException - { - if (eof) - { - throw new EOFException("Unexpected end of ZIP input stream"); - } - - len = this.in.read(buf, 0, buf.length); - - if (len == -1) - { - buf[0] = 0; - len = 1; - eof = true; - } - - inf.setInput(buf, 0, len); - } - - private boolean eof = false; - }; - } - if (this.getAlgorithm() == BZIP2) - { - try - { - return new CBZip2InputStream(this.getInputStream()); - } - catch (IOException e) - { - throw new PGPException("I/O problem with stream: " + e, e); - } - } - - throw new PGPException("can't recognise compression algorithm: " + this.getAlgorithm()); - } -} |