1 package org.simantics.lz4;
4 import java.io.FileNotFoundException;
5 import java.io.InputStream;
6 import java.io.OutputStream;
7 import java.nio.ByteBuffer;
9 import org.simantics.compressions.CompressionCodec;
10 import org.simantics.compressions.Compressions;
12 public class LZ4Codec implements CompressionCodec {
18 public int compressBound(int inputSize) {
19 return LZ4.compressBound(inputSize);
23 public int compressBuffer(ByteBuffer input, int inputOffset,
24 int length, ByteBuffer output, int outputOffset) {
25 return LZ4.compressBuffer(input, inputOffset, length, output, outputOffset);
29 public int decompressBuffer(ByteBuffer input, int inputOffset,
30 int length, ByteBuffer output, int outputOffset, int maxout) {
31 return LZ4.decompressBuffer(input, inputOffset, length, output, outputOffset, maxout);
35 public InputStream read(File file) throws FileNotFoundException {
36 return LZ4.read(file);
40 public OutputStream write(File file) throws FileNotFoundException {
41 return LZ4.write(file);
45 public int compress(byte[] uncompressedData, int srcOff, int srcLength,
46 byte[] compressedData, int destOff) {
47 return LZ4.getInstance().fastCompressor().compress(uncompressedData, srcOff, srcLength, compressedData, destOff);
51 public byte[] decompress(byte[] compressedData, int srcOff,
52 int uncompressedLength) {
53 return LZ4.getInstance().fastDecompressor().decompress(compressedData, srcOff, uncompressedLength);
57 public String getId() {
58 return Compressions.LZ4;