org.apache.hadoop.io.compress
Class CompressionInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.apache.hadoop.io.compress.CompressionInputStream
All Implemented Interfaces:
Closeable, Seekable
Direct Known Subclasses:
DecompressorStream, SplitCompressionInputStream

public abstract class CompressionInputStream
extends InputStream
implements Seekable

A compression input stream.

Implementations are assumed to be buffered. This permits clients to reposition the underlying input stream then call resetState(), without having to also synchronize client buffers.


Field Summary
protected  InputStream in
          The input stream to be compressed.
protected  long maxAvailableData
           
 
Constructor Summary
protected CompressionInputStream(InputStream in)
          Create a compression input stream that reads the decompressed bytes from the given stream.
 
Method Summary
 void close()
           
 long getPos()
          This method returns the current position in the stream.
abstract  int read(byte[] b, int off, int len)
          Read bytes from the stream.
abstract  void resetState()
          Reset the decompressor to its initial state and discard any buffered data, as the underlying stream may have been repositioned.
 void seek(long pos)
          This method is current not supported.
 boolean seekToNewSource(long targetPos)
          This method is current not supported.
 
Methods inherited from class java.io.InputStream
available, mark, markSupported, read, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

in

protected final InputStream in
The input stream to be compressed.


maxAvailableData

protected long maxAvailableData
Constructor Detail

CompressionInputStream

protected CompressionInputStream(InputStream in)
                          throws IOException
Create a compression input stream that reads the decompressed bytes from the given stream.

Parameters:
in - The input stream to be compressed.
Throws:
IOException
Method Detail

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class InputStream
Throws:
IOException

read

public abstract int read(byte[] b,
                         int off,
                         int len)
                  throws IOException
Read bytes from the stream. Made abstract to prevent leakage to underlying stream.

Overrides:
read in class InputStream
Throws:
IOException

resetState

public abstract void resetState()
                         throws IOException
Reset the decompressor to its initial state and discard any buffered data, as the underlying stream may have been repositioned.

Throws:
IOException

getPos

public long getPos()
            throws IOException
This method returns the current position in the stream.

Specified by:
getPos in interface Seekable
Returns:
Current position in stream as a long
Throws:
IOException

seek

public void seek(long pos)
          throws UnsupportedOperationException
This method is current not supported.

Specified by:
seek in interface Seekable
Throws:
UnsupportedOperationException

seekToNewSource

public boolean seekToNewSource(long targetPos)
                        throws UnsupportedOperationException
This method is current not supported.

Specified by:
seekToNewSource in interface Seekable
Throws:
UnsupportedOperationException


Copyright © 2009 The Apache Software Foundation