Class MyLzwCompressor
java.lang.Object
org.apache.commons.imaging.common.mylzw.MyLzwCompressor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
static interface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ByteOrder
private final int
private int
private int
private final boolean
private final int
private final int
private final MyLzwCompressor.Listener
private final Map
<MyLzwCompressor.ByteArray, Integer> -
Constructor Summary
ConstructorsConstructorDescriptionMyLzwCompressor
(int initialCodeSize, ByteOrder byteOrder, boolean earlyLimit) MyLzwCompressor
(int initialCodeSize, ByteOrder byteOrder, boolean earlyLimit, MyLzwCompressor.Listener listener) -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
addTableEntry
(MyBitOutputStream bos, byte[] bytes, int start, int length) private boolean
private MyLzwCompressor.ByteArray
arrayToKey
(byte b) private MyLzwCompressor.ByteArray
arrayToKey
(byte[] bytes, int start, int length) private void
private int
codeFromString
(byte[] bytes, int start, int length) byte[]
compress
(byte[] bytes) private void
private void
private boolean
isInTable
(byte[] bytes, int start, int length) private void
private void
writeCode
(MyBitOutputStream bos, int code) private void
writeDataCode
(MyBitOutputStream bos, int code) private void
-
Field Details
-
codeSize
private int codeSize -
initialCodeSize
private final int initialCodeSize -
codes
private int codes -
byteOrder
-
earlyLimit
private final boolean earlyLimit -
clearCode
private final int clearCode -
eoiCode
private final int eoiCode -
listener
-
map
-
-
Constructor Details
-
MyLzwCompressor
-
MyLzwCompressor
public MyLzwCompressor(int initialCodeSize, ByteOrder byteOrder, boolean earlyLimit, MyLzwCompressor.Listener listener)
-
-
Method Details
-
initializeStringTable
private void initializeStringTable() -
clearTable
private void clearTable() -
incrementCodeSize
private void incrementCodeSize() -
arrayToKey
-
arrayToKey
-
writeDataCode
- Throws:
IOException
-
writeClearCode
- Throws:
IOException
-
writeEoiCode
- Throws:
IOException
-
writeCode
- Throws:
IOException
-
isInTable
private boolean isInTable(byte[] bytes, int start, int length) -
codeFromString
- Throws:
IOException
-
addTableEntry
private boolean addTableEntry(MyBitOutputStream bos, byte[] bytes, int start, int length) throws IOException - Throws:
IOException
-
addTableEntry
private boolean addTableEntry(MyBitOutputStream bos, MyLzwCompressor.ByteArray key) throws IOException - Throws:
IOException
-
compress
- Throws:
IOException
-