public static final Charset UTF8=Charset.forName("UTF-8");
public static final int LZ4_BLOCK_SIZE=32 * 1024;
public static final ObjectMapper LZ4_JSON_MAPPER=new ObjectMapper(new JsonFactory()
.setInputDecorator(new InputDecorator()
{
@Override
public InputStream decorate(IOContext context,InputStream inputStream)
{
return new LZ4BlockInputStream(new LZ4BlockInputStream(inputStream));
}
@Override
public InputStream decorate(IOContext context,byte[] bytes,int offset,int length)
{
return new LZ4BlockInputStream(new LZ4BlockInputStream(new ByteArrayInputStream(bytes,offset,length)));
}
@Override
public Reader decorate(IOContext context,Reader reader)
{
return new InputStreamReader(new LZ4BlockInputStream(new LZ4BlockInputStream(new ReaderInputStream(reader,UTF8))),UTF8);
}
})
.setOutputDecorator(new OutputDecorator()
{
@Override
public OutputStream decorate(IOContext context,OutputStream outputStream)
{
return new LZ4BlockOutputStream(new LZ4BlockOutputStream(outputStream,
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor()),
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor());
}
@Override
public Writer decorate(IOContext context,Writer writer)
{
return new OutputStreamWriter(new LZ4BlockOutputStream(new LZ4BlockOutputStream(new WriterOutputStream(writer,UTF8),
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor()),
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor())
);
}
}))
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
public static final ObjectMapper GZIP_JSON_MAPPER=new ObjectMapper(new JsonFactory()
.setInputDecorator(new InputDecorator()
{
@Override
public InputStream decorate(IOContext context,InputStream inputStream) throws IOException
{
return new GZIPInputStream(inputStream);
}
@Override
public InputStream decorate(IOContext context,byte[] bytes,int offset,int length) throws IOException
{
return new GZIPInputStream(new ByteArrayInputStream(bytes,offset,length));
}
@Override
public Reader decorate(IOContext context,Reader reader) throws IOException
{
return new InputStreamReader(new GZIPInputStream(new ReaderInputStream(reader,UTF8)),UTF8);
}
})
.setOutputDecorator(new OutputDecorator()
{
@Override
public OutputStream decorate(IOContext context,OutputStream outputStream) throws IOException
{
return new GZIPOutputStream(outputStream);
}
@Override
public Writer decorate(IOContext context,Writer writer) throws IOException
{
return new OutputStreamWriter(new GZIPOutputStream(new WriterOutputStream(writer,UTF8)));
}
}))
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
public static final ObjectMapper LZ4_SMILE_MAPPER=new ObjectMapper(new SmileFactory().disable(ENCODE_BINARY_AS_7BIT)
.setInputDecorator(new InputDecorator()
{
@Override
public InputStream decorate(IOContext context,InputStream inputStream)
{
return new LZ4BlockInputStream(new LZ4BlockInputStream(inputStream));
}
@Override
public InputStream decorate(IOContext context,byte[] bytes,int offset,int length)
{
return new LZ4BlockInputStream(new LZ4BlockInputStream(new ByteArrayInputStream(bytes,offset,length)));
}
@Override
public Reader decorate(IOContext context,Reader reader)
{
return new InputStreamReader(new LZ4BlockInputStream(new LZ4BlockInputStream(new ReaderInputStream(reader,UTF8))),UTF8);
}
})
.setOutputDecorator(new OutputDecorator()
{
@Override
public OutputStream decorate(IOContext context,OutputStream outputStream)
{
return new LZ4BlockOutputStream(new LZ4BlockOutputStream(outputStream,
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor()),
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor());
}
@Override
public Writer decorate(IOContext context,Writer writer)
{
return new OutputStreamWriter(new LZ4BlockOutputStream(new LZ4BlockOutputStream(new WriterOutputStream(writer,UTF8),
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor()),
LZ4_BLOCK_SIZE,LZ4Factory.fastestInstance().fastCompressor())
);
}
}))
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
public static final ObjectMapper GZIP_SMILE_MAPPER=new ObjectMapper(new SmileFactory().disable(ENCODE_BINARY_AS_7BIT)
.setInputDecorator(new InputDecorator()
{
@Override
public InputStream decorate(IOContext context,InputStream inputStream) throws IOException
{
return new GZIPInputStream(inputStream);
}
@Override
public InputStream decorate(IOContext context,byte[] bytes,int offset,int length) throws IOException
{
return new GZIPInputStream(new ByteArrayInputStream(bytes,offset,length));
}
@Override
public Reader decorate(IOContext context,Reader reader) throws IOException
{
return new InputStreamReader(new GZIPInputStream(new ReaderInputStream(reader,UTF8)),UTF8);
}
})
.setOutputDecorator(new OutputDecorator()
{
@Override
public OutputStream decorate(IOContext context,OutputStream outputStream) throws IOException
{
return new GZIPOutputStream(outputStream);
}
@Override
public Writer decorate(IOContext context,Writer writer) throws IOException
{
return new OutputStreamWriter(new GZIPOutputStream(new WriterOutputStream(writer,UTF8)));
}
}))
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
.setSerializationInclusion(JsonInclude.Include.NON_NULL);