Package org.iq80.snappy
Class Snappy
- java.lang.Object
-
- org.iq80.snappy.Snappy
-
public final class Snappy extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
COPY_1_BYTE_OFFSET
(package private) static int
COPY_2_BYTE_OFFSET
(package private) static int
COPY_4_BYTE_OFFSET
(package private) static int
LITERAL
private static int
MAX_HEADER_LENGTH
-
Constructor Summary
Constructors Modifier Constructor Description private
Snappy()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
compress(byte[] data)
static int
compress(byte[] uncompressed, int uncompressedOffset, int uncompressedLength, byte[] compressed, int compressedOffset)
static java.io.InputStream
determineSnappyInputStream(java.io.InputStream source, boolean verifyChecksums)
Uses the stream marker bytes to determine if theSnappyFramedInputStream
orSnappyInputStream
should be used to decompress the content of source.static int
getUncompressedLength(byte[] compressed, int compressedOffset)
static int
maxCompressedLength(int sourceLength)
static byte[]
uncompress(byte[] compressed, int compressedOffset, int compressedSize)
static int
uncompress(byte[] compressed, int compressedOffset, int compressedSize, byte[] uncompressed, int uncompressedOffset)
-
-
-
Field Detail
-
MAX_HEADER_LENGTH
private static final int MAX_HEADER_LENGTH
-
LITERAL
static final int LITERAL
- See Also:
- Constant Field Values
-
COPY_1_BYTE_OFFSET
static final int COPY_1_BYTE_OFFSET
- See Also:
- Constant Field Values
-
COPY_2_BYTE_OFFSET
static final int COPY_2_BYTE_OFFSET
- See Also:
- Constant Field Values
-
COPY_4_BYTE_OFFSET
static final int COPY_4_BYTE_OFFSET
- See Also:
- Constant Field Values
-
-
Method Detail
-
determineSnappyInputStream
public static java.io.InputStream determineSnappyInputStream(java.io.InputStream source, boolean verifyChecksums) throws java.io.IOException
Uses the stream marker bytes to determine if theSnappyFramedInputStream
orSnappyInputStream
should be used to decompress the content of source.- Parameters:
source
- The compressed content to decompress. Mustsupport
{@link InputStream#mark(int).}verifyChecksums
- Indicates if the crc32-c checksums should be calculated and verified.- Returns:
- An appropriate
InputStream
implementation to decompress the content. - Throws:
java.lang.IllegalArgumentException
- If source does notsupport
mark/reset or does not contain the appropriate marker bytes for either implementation.java.io.IOException
-
getUncompressedLength
public static int getUncompressedLength(byte[] compressed, int compressedOffset) throws CorruptionException
- Throws:
CorruptionException
-
uncompress
public static byte[] uncompress(byte[] compressed, int compressedOffset, int compressedSize) throws CorruptionException
- Throws:
CorruptionException
-
uncompress
public static int uncompress(byte[] compressed, int compressedOffset, int compressedSize, byte[] uncompressed, int uncompressedOffset) throws CorruptionException
- Throws:
CorruptionException
-
maxCompressedLength
public static int maxCompressedLength(int sourceLength)
-
compress
public static int compress(byte[] uncompressed, int uncompressedOffset, int uncompressedLength, byte[] compressed, int compressedOffset)
-
compress
public static byte[] compress(byte[] data)
-
-