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