Package com.ning.compress.lzf
Class LZFChunk
- java.lang.Object
-
- com.ning.compress.lzf.LZFChunk
-
public class LZFChunk extends java.lang.Object
Helper class used to store LZF encoded segments (compressed and non-compressed) that can be sequenced to produce LZF files/streams.
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
_data
protected LZFChunk
_next
static int
BLOCK_TYPE_COMPRESSED
static int
BLOCK_TYPE_NON_COMPRESSED
static byte
BYTE_V
static byte
BYTE_Z
static int
HEADER_LEN_COMPRESSED
static int
HEADER_LEN_NOT_COMPRESSED
static int
MAX_CHUNK_LEN
Chunk length is limited by 2-byte length indicator, to 64kstatic int
MAX_HEADER_LEN
Header can be either 7 bytes (compressed) or 5 bytes (uncompressed) longstatic int
MAX_LITERAL
Maximum length of literal run for LZF encoding.
-
Constructor Summary
Constructors Modifier Constructor Description private
LZFChunk(byte[] data)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
appendCompressedHeader(int origLen, int encLen, byte[] headerBuffer, int offset)
static int
appendNonCompressed(byte[] plainData, int ptr, int len, byte[] outputBuffer, int outputPtr)
Method for appending specific content as non-compressed chunk, in given buffer.static int
appendNonCompressedHeader(int len, byte[] headerBuffer, int offset)
int
copyTo(byte[] dst, int ptr)
static LZFChunk
createCompressed(int origLen, byte[] encData, int encPtr, int encLen)
Factory method for constructing compressed chunkstatic LZFChunk
createNonCompressed(byte[] plainData, int ptr, int len)
Factory method for constructing compressed chunkbyte[]
getData()
int
length()
LZFChunk
next()
void
setNext(LZFChunk next)
static void
writeCompressedHeader(int origLen, int encLen, java.io.OutputStream out, byte[] headerBuffer)
static void
writeNonCompressedHeader(int len, java.io.OutputStream out, byte[] headerBuffer)
-
-
-
Field Detail
-
MAX_LITERAL
public static final int MAX_LITERAL
Maximum length of literal run for LZF encoding.- See Also:
- Constant Field Values
-
MAX_CHUNK_LEN
public static final int MAX_CHUNK_LEN
Chunk length is limited by 2-byte length indicator, to 64k- See Also:
- Constant Field Values
-
MAX_HEADER_LEN
public static final int MAX_HEADER_LEN
Header can be either 7 bytes (compressed) or 5 bytes (uncompressed) long- See Also:
- Constant Field Values
-
HEADER_LEN_COMPRESSED
public static final int HEADER_LEN_COMPRESSED
- See Also:
- Constant Field Values
-
HEADER_LEN_NOT_COMPRESSED
public static final int HEADER_LEN_NOT_COMPRESSED
- See Also:
- Constant Field Values
-
BYTE_Z
public static final byte BYTE_Z
- See Also:
- Constant Field Values
-
BYTE_V
public static final byte BYTE_V
- See Also:
- Constant Field Values
-
BLOCK_TYPE_NON_COMPRESSED
public static final int BLOCK_TYPE_NON_COMPRESSED
- See Also:
- Constant Field Values
-
BLOCK_TYPE_COMPRESSED
public static final int BLOCK_TYPE_COMPRESSED
- See Also:
- Constant Field Values
-
_data
protected final byte[] _data
-
_next
protected LZFChunk _next
-
-
Method Detail
-
createCompressed
public static LZFChunk createCompressed(int origLen, byte[] encData, int encPtr, int encLen)
Factory method for constructing compressed chunk
-
appendCompressedHeader
public static int appendCompressedHeader(int origLen, int encLen, byte[] headerBuffer, int offset)
-
writeCompressedHeader
public static void writeCompressedHeader(int origLen, int encLen, java.io.OutputStream out, byte[] headerBuffer) throws java.io.IOException
- Throws:
java.io.IOException
-
createNonCompressed
public static LZFChunk createNonCompressed(byte[] plainData, int ptr, int len)
Factory method for constructing compressed chunk
-
appendNonCompressed
public static int appendNonCompressed(byte[] plainData, int ptr, int len, byte[] outputBuffer, int outputPtr)
Method for appending specific content as non-compressed chunk, in given buffer.
-
appendNonCompressedHeader
public static int appendNonCompressedHeader(int len, byte[] headerBuffer, int offset)
-
writeNonCompressedHeader
public static void writeNonCompressedHeader(int len, java.io.OutputStream out, byte[] headerBuffer) throws java.io.IOException
- Throws:
java.io.IOException
-
setNext
public void setNext(LZFChunk next)
-
next
public LZFChunk next()
-
length
public int length()
-
getData
public byte[] getData()
-
copyTo
public int copyTo(byte[] dst, int ptr)
-
-