Package tigase.util
Class ZLibWrapper
- java.lang.Object
-
- tigase.util.ZLibWrapper
-
public class ZLibWrapper extends Object
This is a warpper for java.util.zip package and Deflater/Inflater classes specifically. This implementation allows for easy interaction between Deflater/Inflater and java.nio API which operates on ByteBuffer data. It also does some tricky stuff to flush Deflater without reseting it and allow a better compression ration on the data.
There are a few convenience methods allowing to directly compress String to ByteBuffer and other way around - from ByteBuffer to String decompression. For these methods data are assumed to be UTF-8 character String.
Created: Jul 30, 2009 11:46:55 AM- Version:
- $Rev$
- Author:
- Artur Hefczyc
-
-
Field Summary
Fields Modifier and Type Field Description static intCOMPRESSED_BUFF_SIZEstatic intDECOMPRESSED_BUFF_SIZE
-
Constructor Summary
Constructors Constructor Description ZLibWrapper()ZLibWrapper(int level)ZLibWrapper(int level, int comp_buff_size)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description floataverageCompressionRate()floataverageDecompressionRate()ByteBuffercompress(String input)ByteBuffercompress(ByteBuffer input)ByteBufferdecompress(ByteBuffer input)StringdecompressToString(ByteBuffer input)voidend()floatlastCompressionRate()floatlastDecompressionRate()static voidmain(String[] args)voidsetIOListener(IOListener listener)
-
-
-
Field Detail
-
COMPRESSED_BUFF_SIZE
public static final int COMPRESSED_BUFF_SIZE
- See Also:
- Constant Field Values
-
DECOMPRESSED_BUFF_SIZE
public static final int DECOMPRESSED_BUFF_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
averageCompressionRate
public float averageCompressionRate()
-
averageDecompressionRate
public float averageDecompressionRate()
-
compress
public ByteBuffer compress(ByteBuffer input)
-
compress
public ByteBuffer compress(String input) throws CharacterCodingException
- Throws:
CharacterCodingException
-
decompress
public ByteBuffer decompress(ByteBuffer input) throws IOException
- Throws:
IOException
-
decompressToString
public String decompressToString(ByteBuffer input) throws CharacterCodingException, IOException
- Throws:
CharacterCodingExceptionIOException
-
end
public void end()
-
lastCompressionRate
public float lastCompressionRate()
-
lastDecompressionRate
public float lastDecompressionRate()
-
setIOListener
public void setIOListener(IOListener listener)
-
-