Class Uncompressor

java.lang.Object
com.ning.compress.Uncompressor
Direct Known Subclasses:
GZIPUncompressor, LZFUncompressor

public abstract class Uncompressor extends Object
Abstract class that defines "push" style API for various uncompressors (aka decompressors or decoders). Implementations are alternatives to stream based uncompressors (such as LZFInputStream) in cases where "push" operation is important and/or blocking is not allowed; for example, when handling asynchronous HTTP responses.

Note that API does not define the way that listener is attached: this is typically passed through to constructor of the implementation.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    Method called to indicate that all data to uncompress has already been fed.
    abstract boolean
    feedCompressedData(byte[] comp, int offset, int len)
    Method called to feed more compressed data to be uncompressed, and sent to possible listeners.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Uncompressor

      public Uncompressor()
  • Method Details

    • feedCompressedData

      public abstract boolean feedCompressedData(byte[] comp, int offset, int len) throws IOException
      Method called to feed more compressed data to be uncompressed, and sent to possible listeners.

      NOTE: return value was added (from void to boolean) in 0.9.9

      Returns:
      True, if caller should process and feed more data; false if caller is not interested in more data and processing should be terminated. (and complete() should be called immediately)
      Throws:
      IOException
    • complete

      public abstract void complete() throws IOException
      Method called to indicate that all data to uncompress has already been fed. This typically results in last block of data being uncompressed, and results being sent to listener(s); but may also throw an exception if incomplete block was passed.
      Throws:
      IOException