org.apache.hadoop.io.compress.lzo
Class LzoCompressor

java.lang.Object
  extended by org.apache.hadoop.io.compress.lzo.LzoCompressor
All Implemented Interfaces:
Compressor

public class LzoCompressor
extends Object
implements Compressor

A Compressor based on the lzo algorithm. http://www.oberhumer.com/opensource/lzo/


Nested Class Summary
static class LzoCompressor.CompressionStrategy
          The compression algorithm for lzo library.
 
Constructor Summary
LzoCompressor()
          Creates a new compressor with the default lzo1x_1 compression.
LzoCompressor(LzoCompressor.CompressionStrategy strategy, int directBufferSize)
          Creates a new compressor using the specified LzoCompressor.CompressionStrategy.
 
Method Summary
 int compress(byte[] b, int off, int len)
          Fills specified buffer with compressed data.
 void end()
          Noop.
 void finish()
          When called, indicates that compression should end with the current contents of the input buffer.
 boolean finished()
          Returns true if the end of the compressed data output stream has been reached.
 long getBytesRead()
          Return number of bytes given to this compressor since last reset.
 long getBytesWritten()
          Return number of bytes consumed by callers of compress since last reset.
static boolean isNativeLzoLoaded()
          Check if lzo compressors are loaded and initialized.
 boolean needsInput()
          Returns true if the input data buffer is empty and #setInput() should be called to provide more input.
 void reset()
          Resets compressor so that a new set of input data can be processed.
 void setDictionary(byte[] b, int off, int len)
          Sets preset dictionary for compression.
 void setInput(byte[] b, int off, int len)
          Sets input data for compression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LzoCompressor

public LzoCompressor(LzoCompressor.CompressionStrategy strategy,
                     int directBufferSize)
Creates a new compressor using the specified LzoCompressor.CompressionStrategy.

Parameters:
strategy - lzo compression algorithm to use
directBufferSize - size of the direct buffer to be used.

LzoCompressor

public LzoCompressor()
Creates a new compressor with the default lzo1x_1 compression.

Method Detail

isNativeLzoLoaded

public static boolean isNativeLzoLoaded()
Check if lzo compressors are loaded and initialized.

Returns:
true if lzo compressors are loaded & initialized, else false

setInput

public void setInput(byte[] b,
                     int off,
                     int len)
Description copied from interface: Compressor
Sets input data for compression. This should be called whenever #needsInput() returns true indicating that more input data is required.

Specified by:
setInput in interface Compressor
Parameters:
b - Input data
off - Start offset
len - Length

setDictionary

public void setDictionary(byte[] b,
                          int off,
                          int len)
Description copied from interface: Compressor
Sets preset dictionary for compression. A preset dictionary is used when the history buffer can be predetermined.

Specified by:
setDictionary in interface Compressor
Parameters:
b - Dictionary data bytes
off - Start offset
len - Length

needsInput

public boolean needsInput()
Returns true if the input data buffer is empty and #setInput() should be called to provide more input.

Specified by:
needsInput in interface Compressor
Returns:
true if the input data buffer is empty and #setInput() should be called in order to provide more input.

finish

public void finish()
Description copied from interface: Compressor
When called, indicates that compression should end with the current contents of the input buffer.

Specified by:
finish in interface Compressor

finished

public boolean finished()
Description copied from interface: Compressor
Returns true if the end of the compressed data output stream has been reached.

Specified by:
finished in interface Compressor
Returns:
true if the end of the compressed data output stream has been reached.

compress

public int compress(byte[] b,
                    int off,
                    int len)
             throws IOException
Description copied from interface: Compressor
Fills specified buffer with compressed data. Returns actual number of bytes of compressed data. A return value of 0 indicates that needsInput() should be called in order to determine if more input data is required.

Specified by:
compress in interface Compressor
Parameters:
b - Buffer for the compressed data
off - Start offset of the data
len - Size of the buffer
Returns:
The actual number of bytes of compressed data.
Throws:
IOException

reset

public void reset()
Description copied from interface: Compressor
Resets compressor so that a new set of input data can be processed.

Specified by:
reset in interface Compressor

getBytesRead

public long getBytesRead()
Return number of bytes given to this compressor since last reset.

Specified by:
getBytesRead in interface Compressor

getBytesWritten

public long getBytesWritten()
Return number of bytes consumed by callers of compress since last reset.

Specified by:
getBytesWritten in interface Compressor

end

public void end()
Noop.

Specified by:
end in interface Compressor


Copyright © 2008 The Apache Software Foundation