32 lines
901 B
Java
32 lines
901 B
Java
package eu.mikroskeem.uurimustoo.algoritmidetest.algoritmid;
|
|
|
|
import lombok.Getter;
|
|
import org.meteogroup.jbrotli.BrotliStreamCompressor;
|
|
import org.meteogroup.jbrotli.BrotliStreamDeCompressor;
|
|
import org.meteogroup.jbrotli.libloader.BrotliLibraryLoader;
|
|
|
|
/**
|
|
* @author Mark Vainomaa
|
|
*/
|
|
public class Brotli extends AbstractAlgorithm {
|
|
@Getter private final String name = "Brotli";
|
|
|
|
static {
|
|
BrotliLibraryLoader.loadBrotli();
|
|
}
|
|
|
|
@Override
|
|
public byte[] compress(byte[] input) {
|
|
BrotliStreamCompressor compressor = new BrotliStreamCompressor();
|
|
return compressor.compressArray(input, true);
|
|
}
|
|
|
|
@Override
|
|
public byte[] decompress(byte[] input) {
|
|
BrotliStreamDeCompressor decompressor = new BrotliStreamDeCompressor();
|
|
byte[] buf = new byte[8192]; // *sigh*
|
|
decompressor.deCompress(input, buf);
|
|
return buf;
|
|
}
|
|
}
|