
com.arangodb.http.compression.Encoder Maven / Gradle / Ivy
package com.arangodb.http.compression;
import com.arangodb.Compression;
import com.arangodb.shaded.netty.handler.codec.compression.ZlibWrapper;
import com.arangodb.shaded.vertx.core.buffer.Buffer;
public interface Encoder {
Buffer encode(byte[] data);
String getFormat();
static Encoder of(Compression compression, int level) {
if (level < 0 || level > 9) {
throw new IllegalArgumentException("compression level: " + level + " (expected: 0-9)");
}
switch (compression) {
case GZIP:
return new ZlibEncoder(ZlibWrapper.GZIP, level, "gzip");
case DEFLATE:
return new ZlibEncoder(ZlibWrapper.ZLIB, level, "deflate");
case NONE:
return new NoopEncoder();
default:
throw new IllegalArgumentException("Unsupported compression: " + compression);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy