Package org.h2.compress

# Interface Compressor

All Known Implementing Classes:
  `CompressDeflate`, `CompressLZF`, `CompressNo`

public interface Compressor
Each data compression algorithm must implement this interface.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`DEFLATE`
The DEFLATE compression algorithm is used.
`static final int`
`LZF`
The LZF compression algorithm is used
`static final int`
`NO`
No compression is used.

## Method Summary

Modifier and Type
Method
Description
`int`
`compress(byte[] in, int inPos, int inLen, byte[] out, int outPos)`
Compress a number of bytes.
`void`
`expand(byte[] in, int inPos, int inLen, byte[] out, int outPos, int outLen)`
Expand a number of compressed bytes.
`int`
`getAlgorithm()`
Get the compression algorithm type.
`void`
`setOptions(String options)`
Set the compression options.

## Field Details

### NO

static final int NO
No compression is used.

See Also:
  - Constant Field Values

### LZF

static final int LZF
The LZF compression algorithm is used

See Also:
  - Constant Field Values

### DEFLATE

static final int DEFLATE
The DEFLATE compression algorithm is used.

See Also:
  - Constant Field Values

## Method Details

### getAlgorithm

int getAlgorithm()
Get the compression algorithm type.

Returns:
  the type

### compress

int compress(byte[] in, int inPos, int inLen, byte[] out, int outPos)
Compress a number of bytes.

Parameters:
  `in` - the input data
  `inPos` - the offset at the input array
  `inLen` - the number of bytes to compress
  `out` - the output area
  `outPos` - the offset at the output array
Returns:
  the end position

### expand

void expand(byte[] in, int inPos, int inLen, byte[] out, int outPos, int outLen)
Expand a number of compressed bytes.

Parameters:
  `in` - the compressed data
  `inPos` - the offset at the input array
  `inLen` - the number of bytes to read
  `out` - the output area
  `outPos` - the offset at the output array
  `outLen` - the size of the uncompressed data

### setOptions

void setOptions(String options)
Set the compression options. This may include settings for higher performance but less compression.

Parameters:
  `options` - the options