Factory.match( type, obj ) でマッチした obj を
type で示される型に変換する。
LHA Library for Java のプロパティ用の
生成式 source を解析して 新しい Object を生成する。
LHA Library for Java のプロパティ用の
生成式 source を解析して 新しい Object を生成する。
Factory.matchAll( types, args ) でマッチした args を
一括して types で示される型に変換する。
PATRICIA Trie を使用した LzssSearchMethod の実装。
-- revision history --
$Log: PatriciaTrieSearch.java,v $
Revision 1.2 2002/12/10 22:28:55 dangan
[bug fix]
put( DictionarySize * 2 )
searchAndPut( DictionarySize * 2 ) に対応していなかったのを修正。
Revision 1.1 2002/12/04 00:00:00 dangan
[change]
LzssSearchMethod のインタフェイス変更に合わせてインタフェイス変更。
[maintenance]
ソース整備
Revision 1.0 2002/08/15 00:00:00 dangan
add to version control
[bug fix]
contractNode で hashtable からの連結リストに繋ぐのを忘れていた修正。
配列 に PatriciaTrieSearch.ROOT_NODE(-1) でアクセスしていたのを修正。
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
コンストラクタ。
PATRICIA Trie を使用した検索機構を構築する。
読み込み位置を変えずに 1ビットのデータを先読みする。
読み込み位置を変えずに count ビットのデータを先読みする。
戻り値が int型であることからもわかるように
最大有効ビット数は 32ビットである。
EndOfStream 付近を除いて、先読み出来ることが保障されるのは
32ビットである。(ビットバッファの大きさが 32ビットであるため)
もし 32ビット以上の先読み機能が必須となる場合は
その都度 mark()、readBits()、reset() を繰り返すか、
このクラスを使用することを諦めること。
読み込み位置を変えずに 1ビットのデータを
真偽値として先読みする。
-lh1- 圧縮用の PostLzssEncoder。
-- revision history --
$Log: PostLh1Encoder.java,v $
Revision 1.1 2002/12/01 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/07/31 00:00:00 dangan
add to version control
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lh1- 圧縮用 PostLzssEncoder を構築する。
-lh2- 圧縮用 PostLzssEncoder。
-- revision history --
$Log: PostLh2Encoder.java,v $
Revision 1.1 2002/12/01 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/07/31 00:00:00 dangan
add to version control
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lh2- 圧縮用 PostLzssEncoder を構築する。
-lh3- 圧縮用 PostLzssEncoder。
$Log: PostLh3Encoder.java,v $
Revision 1.2 2002/12/06 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.1 2002/12/01 00:00:00 dangan
[change]
flush() されないかぎり
接続された OutputStream をflush() しないように変更。
[maintenance]
ソース整備。
Revision 1.0 2002/07/31 00:00:00 dangan
add to version control
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lh3- 圧縮用 PostLzssEncoderを構築する。
バッファサイズにはデフォルト値が使用される。
-lh3- 圧縮用 PostLzssEncoderを構築する。
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder。
-- revision history --
$Log: PostLh5Encoder.java,v $
Revision 1.4 2002/12/08 00:00:00 dangan
[change]
クラス名 を PostLh5EncoderCombo から PostLh5Encoder に変更。
Revision 1.3 2002/12/06 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.2 2002/12/01 00:00:00 dangan
[change]
flush() されないかぎり
接続された OutputStream をflush() しないように変更。
Revision 1.1 2002/12/01 00:00:00 dangan
[bug fix]
writeOutGroup でローカル変数 offLenFreq を使用しなければ
ならない部分で this.offLenFreq を使用していた。
[maintenance]
PostLh5Encoder から受け継いだインスタンスフィールド
buffer, codeFreq, offLenFreq 廃止
ソース整備
Revision 1.0 2002/07/31 00:00:00 dangan
add to version control
[improvement]
DivideNum を導入する事によって処理するパターン数の減少を図る。
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lh5- 圧縮用 PostLzssEncoder を構築する。
バッファサイズにはデフォルト値が使用される。
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
バッファサイズにはデフォルト値が使用される。
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
1つが BlockSizeバイト の BlockNum 個のブロックを組み合わせて
最も出力ビット数の少ない構成で出力する。
組み合わせは 全ブロックを DivideNum + 1 個に分割して得られる
全パターンが試される。
-lz5- 圧縮用 PostLzssEncoder。
-- revision history --
$Log: PostLz5Encoder.java,v $
Revision 1.1 2002/12/01 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/07/31 00:00:00 dangan
add to version control
[bug fix]
-lz5- の MaxMatch は 16 でなく 18 だった。
flush() で出力できるデータを出力していなかったのを修正。
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lz5- 圧縮用 PostLzssEncoder を構築する。
-lzs- 圧縮用 PostLzssEncoder。
-- revision history --
$Log: PostLzsEncoder.java,v $
Revision 1.1 2002/12/01 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/07/31 00:00:00 dangan
add to version control
[bug fix]
-lzs- の MaxMatch は 16 でなく 17 だったのを修正。
[maintenance]
ソース整備
タブの廃止
ライセンス文の修正
-lzs- 圧縮用 PostLzssEncoder を構築する。
LZSS圧縮コードを処理する インターフェイス。
-- revision history --
$Log: PostLzssEncoder.java,v $
Revision 1.0 2002/07/25 00:00:00 dangan
add to version control
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lh1- 解凍用の PreLzssDecoder。
-- revision history --
$Log: PreLh1Decoder.java,v $
Revision 1.1 2002/12/01 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[bug fix]
available の計算が甘かったのを修正。
[maintenance]
ソース整備
-lh1- 解凍用 PreLzssDecoder を構築する。
-lh2- 解凍用 PreLzssDecoder。
-- revision history --
$Log: PreLh2Decoder.java,v $
Revision 1.1 2002/12/06 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/08/05 00:00:00 dangan
[bug fix]
available() の計算が甘かったのを修正。
[maintenance]
ソース整備
-lh2- 解凍用 PreLzssDecoder を構築する。
-lh3- 解凍用の PreLzssDecoder。
-- revision history --
$Log: PreLh3Decoder.java,v $
Revision 1.1 2002/12/01 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[bug fix]
available の計算が甘かったのを修正。
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lh3- 解凍用 PreLzssDecoder を構築する。
テーブルサイズには デフォルト値を使用する。
-lh3- 解凍用 PreLzssDecoder を構築する。
-lh4-, -lh5-, -lh6-, -lh7- 解凍用の PreLzssDecoder。
-- revision history --
$Log: PreLh5Decoder.java,v $
Revision 1.3 2002/12/08 00:00:00 dangan
[bug fix]
readCode でハフマン符号読み込み途中で
EndOfStream に達した場合に EOFException を投げていなかった。
Revision 1.2 2002/12/08 00:00:00 dangan
[change]
クラス名 を PreLh5DecoderFast から PreLh5Decoder に変更。
Revision 1.1 2002/12/06 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[maintenance]
最新の BitInputStream と PreLh5Decoder からソースを取り込む。
ソース整備
タブ廃止
ライセンス文の修正
-lh5- 解凍用 PreLzssDecoder を構築する。
テーブルサイズはデフォルト値を使用する。
-lh4-,-lh5-,-lh6-,-lh7- 解凍用 PreLzssDecoder を構築する。
テーブルサイズには デフォルト値を使用する。
-lh4-,-lh5-,-lh6-,-lh7- 解凍用 PreLzssDecoder を構築する。
-lz5- 解凍用 PreLzssDecoder。
-- revision history --
$Log: PreLz5Decoder.java,v $
Revision 1.1 2002/12/01 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lz5- 解凍用 PreLzssDecoder を構築する。
-lzs- 解凍用 PreLzssDecoder。
-- revision history --
$Log: PreLzsDecoder.java,v $
Revision 1.1 2002/12/06 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[bug fix]
-lzs- の MaxMatch が 17 であるべきが 16 となっていたのを修正。
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
-lzs- 解凍用 PreLzssDecoder を構築する。
LZSS圧縮コードを供給するインターフェイス。
-- revision history --
$Log: PreLzssDecoder.java,v $
Revision 1.0 2002/07/25 00:00:00 dangan
add to version control
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
position から始まるデータパタンを二分木に登録する。
position から始まるデータパタンを
ハッシュと二分木を使用した検索機構に登録する。
position から始まるデータパタンを
ハッシュと連結リストから成る検索機構に登録する。
position から始まるデータパタンを
LzssSearchMethod の持つ検索機構に登録する。
LzssOutputStream は 線形に、重複無く、
put または searchAndPut を呼び出す。
position から始まるデータパタンを
PATRICIA Trie に登録する。
SimpleSearch は検索機構を使用しないため
このメソッドは何もしない。
position から始まるデータパタンを
二段階ハッシュと連結リストから成る検索機構に登録する。
新しいエントリを書き込むようにストリームを設定する。
このメソッドは 既に圧縮済みのエントリの場合は
putNextEntryAlreadyCompressed(),
未だに圧縮されていない場合は
putNextEntryNotYetCompressed() を呼び出す。
圧縮されているかの判定は、
- header.getCompressedSize()
- header.getCRC()
のどれか一つでも LhaHeader.UNKNOWN であれば未だに圧縮されていないとする。
header には正確な OriginalSize が指定されている必要がある。
新しいエントリを書き込むようにストリームを設定する。
このメソッドは 既に圧縮済みのエントリの場合は
putNextEntryAlreadyCompressed(),
未だに圧縮されていない場合は
putNextEntryNotYetCompressed() を呼び出す。
圧縮されているかの判定は、
- header.getCompressedSize()
- header.getOriginalSize()
- header.getCRC()
のどれか一つでも LhaHeader.UNKNOWN であれば未だに圧縮されていないとする。
新しいエントリを書き込むようにストリームを設定する。
このメソッドは 既に圧縮済みのエントリの場合は
putNextEntryAlreadyCompressed(),
未だに圧縮されていない場合は
putNextEntryNotYetCompressed() を呼び出す。
圧縮されているかの判定は、
- header.getCompressedSize()
- header.getCRC()
のどれか一つでも LhaHeader.UNKNOWN であれば未だに圧縮されていないとする。
header には正確な OriginalSize が指定されている必要がある。
既に圧縮済みのエントリを書きこむようにストリームを設定する。
圧縮済みデータが正しい事は、呼び出し側が保証する事。
既に圧縮済みのエントリを書きこむようにストリームを設定する。
圧縮済みなので、一時退避機構を経ずに直接出力先に出力される。
圧縮済みデータが正しい事は、呼び出し側が保証する事。
既に圧縮済みのエントリを書きこむようにストリームを設定する。
圧縮済みデータが正しい事は、呼び出し側が保証する事。
未だに圧縮されていないエントリを書きこむようにストリームを
設定する。header に CompressedSize,CRCが指定されていても無
視される。このメソッドに渡される header には
LhaHeader.setOriginalSize() を用いて 正確なオリジナルサイズ
が指定されている必要がある。
未だに圧縮されていないエントリを書きこむようにストリームを設定する。
header に OriginalSize, CompressedSize, CRCが指定されていても無視される。
未だに圧縮されていないエントリを書きこむようにストリームを設定する。
header には正確な OriginalSize が指定されている必要がある。
header に CompressedSize, CRCが指定されていても無視される。
put() または searchAndPut() を使用して
データパタンを二分木に登録する際に
必要とするデータ量を得る。
二分木は登録の際にデータパタンを構成する
全て(MaxMatchバイト)のデータを必要とする。
put() または searchAndPut() を使用して
データパタンを二分木に登録する際に
必要とするデータ量を得る。
二分木は登録の際にデータパタンを構成する
全て(MaxMatchバイト)のデータを必要とする。
put() で LzssSearchMethodにデータを
登録するときに使用されるデータ量を得る。
HashAndChainedListSearch では、
内部で使用している HashMethod の実装が
hash() のために必要とするデータ量
( HashMethod.hashRequires() の戻り値 ) を返す。
put() または searchAndPut() を使用して
データパタンを検索機構に登録する時に
必要とするデータ量を得る。
put() で LzssSearchMethodにデータを
登録するときに使用されるデータ量を得る。
PatriciaTrieSearch では、常に MaxMatch を返す。
SimpleSearch は検索機構を使用しないため常に 0 を返す。
put() で LzssSearchMethodにデータを
登録するときに使用されるデータ量を得る。
TwoLevelHashSearch では、内部で使用している HashMethod の実装が
hash() のために必要とするデータ量( HashMethod.hashRequires() の戻り値 )
と 二段目のハッシュに必要な最大のバイト数を足したものを返す。