/** * For providing some arbitrary data source. No additional buffering is * provided, so if the underlying source is not buffered, wrap it in a * SeekableBufferedStream before passing to this ctor. * @param strm source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final SeekableStream strm, final InflaterFactory inflaterFactory) { mFile = strm; mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * For providing some arbitrary data source. No additional buffering is * provided, so if the underlying source is not buffered, wrap it in a * SeekableBufferedStream before passing to this ctor. * @param strm source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final SeekableStream strm, final InflaterFactory inflaterFactory) { mFile = strm; mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * For providing some arbitrary data source. No additional buffering is * provided, so if the underlying source is not buffered, wrap it in a * SeekableBufferedStream before passing to this ctor. * @param strm source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final SeekableStream strm, final InflaterFactory inflaterFactory) { mFile = strm; mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * Use this ctor if you wish to call seek() * @param file source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} * @throws IOException */ public BlockCompressedInputStream(final File file, final InflaterFactory inflaterFactory) throws IOException { mFile = new SeekableFileStream(file); mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * Use this ctor if you wish to call seek() * @param file source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} * @throws IOException */ public BlockCompressedInputStream(final File file, final InflaterFactory inflaterFactory) throws IOException { mFile = new SeekableFileStream(file); mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * Use this ctor if you wish to call seek() * @param file source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} * @throws IOException */ public BlockCompressedInputStream(final File file, final InflaterFactory inflaterFactory) throws IOException { mFile = new SeekableFileStream(file); mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * Note that seek() is not supported if this ctor is used. * @param stream source of bytes * @param allowBuffering if true, allow buffering * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final InputStream stream, final boolean allowBuffering, final InflaterFactory inflaterFactory) { if (allowBuffering) { mStream = IOUtil.toBufferedStream(stream); } else { mStream = stream; } mFile = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * Note that seek() is not supported if this ctor is used. * @param stream source of bytes * @param allowBuffering if true, allow buffering * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final InputStream stream, final boolean allowBuffering, final InflaterFactory inflaterFactory) { if (allowBuffering) { mStream = IOUtil.toBufferedStream(stream); } else { mStream = stream; } mFile = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * Note that seek() is not supported if this ctor is used. * @param stream source of bytes * @param allowBuffering if true, allow buffering * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final InputStream stream, final boolean allowBuffering, final InflaterFactory inflaterFactory) { if (allowBuffering) { mStream = IOUtil.toBufferedStream(stream); } else { mStream = stream; } mFile = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
@Override public CompressionBlock transform(CompressionBlock record) { BlockGunzipper inflator = mFreeInflators.poll(); if (inflator == null) { inflator = new BlockGunzipper(inflatorFactory); } try { record.decompress(mFreeDecompressedBlockedBuffers.poll(), inflator); } finally { mFreeInflators.add(inflator); } // compressed block is not needed once we have the decompressed version byte[] compressedBlockBuffer = record.getCompressedBlock(); if (compressedBlockBuffer != null && compressedBlockBuffer.length > 0) { mFreeCompressedBlockBuffers.add(compressedBlockBuffer); } return record; } }
/** * @param url source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final URL url, final InflaterFactory inflaterFactory) { mFile = new SeekableBufferedStream(new SeekableHTTPStream(url)); mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * @param url source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final URL url, final InflaterFactory inflaterFactory) { mFile = new SeekableBufferedStream(new SeekableHTTPStream(url)); mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }
/** * @param url source of bytes * @param inflaterFactory {@link InflaterFactory} used by {@link BlockGunzipper} */ public BlockCompressedInputStream(final URL url, final InflaterFactory inflaterFactory) { mFile = new SeekableBufferedStream(new SeekableHTTPStream(url)); mStream = null; blockGunzipper = new BlockGunzipper(inflaterFactory); }