diff --git a/pom.xml b/pom.xml index f81ebf9..38490dc 100644 --- a/pom.xml +++ b/pom.xml @@ -121,5 +121,12 @@ zstd-jni 1.1.4 + + + + org.anarres.lzo + lzo-core + 1.0.5 + diff --git a/src/main/java/eu/mikroskeem/uurimustoo/algoritmidetest/algoritmid/LZO.java b/src/main/java/eu/mikroskeem/uurimustoo/algoritmidetest/algoritmid/LZO.java new file mode 100644 index 0000000..3d8f0f8 --- /dev/null +++ b/src/main/java/eu/mikroskeem/uurimustoo/algoritmidetest/algoritmid/LZO.java @@ -0,0 +1,29 @@ +package eu.mikroskeem.uurimustoo.algoritmidetest.algoritmid; + +import lombok.Getter; +import org.anarres.lzo.*; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * @author Mark Vainomaa + */ +public class LZO extends AbstractAlgorithm { + @Getter private final String name = "LZO"; + + @Override + public OutputStream createCompressor(OutputStream outputStream) throws IOException { + LzoAlgorithm algorithm = LzoAlgorithm.LZO1X; + LzoCompressor compressor = LzoLibrary.getInstance().newCompressor(algorithm, null); + return new LzoOutputStream(outputStream, compressor, 256); + } + + @Override + public InputStream createDecompressor(InputStream inputStream) throws IOException { + LzoAlgorithm algorithm = LzoAlgorithm.LZO1X; + LzoDecompressor decompressor = LzoLibrary.getInstance().newDecompressor(algorithm, null); + return new LzoInputStream(inputStream, decompressor); + } +}