LHA Library for Java

jp.gr.java_conf.dangan.util.lha
Interface PreLzssDecoder

All Known Implementing Classes:
PreLh1Decoder, PreLh2Decoder, PreLh3Decoder, PreLh5Decoder, PreLz5Decoder, PreLzsDecoder

public interface PreLzssDecoder

LZSS圧縮コードを供給するインターフェイス。

 -- revision history --
 $Log: PreLzssDecoder.java,v $
 Revision 1.0  2002/07/25 00:00:00  dangan
 add to version control
 [maintenance]
     ソース整備
     タブ廃止
     ライセンス文の修正

 

Version:
$Revision: 1.0 $
Author:
$Author: dangan $

Method Summary
 int available()
          接続された入力ストリームからブロックしないで 読み込むことのできる最低バイト数を得る。
この数値は完全である事を保障しなくてよい。 これは故意に作成されたデータ等ではブロックせずに 読み込む事の出来る最低バイト数を得るには 実際に読み込んでみる以外に方法がないためである。
 void close()
          この入力ストリームを閉じ、使用していた 全てのリソースを開放する。
 int getDictionarySize()
          このPreLzssDecoderが処理するLZSS辞書のサイズを得る。
 int getMaxMatch()
          このPreLzssDecoderが処理する最長一致長を得る。
 int getThreshold()
          このPreLzssDecoderが処理する圧縮、非圧縮の閾値を得る。
 void mark(int readLimit)
          接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の読み込み位置に戻れるようにする。
InputStream の mark() と違い、 readLimit で設定した 限界バイト数より前にマーク位置が無効になってもかまわない。 ただし、readLimit を無視して無限に reset() 可能な InputStream と接続している場合は readLimit にどのような値を設定されても reset() で必ずマーク位置に復旧できなければならない。
 boolean markSupported()
          接続された入力ストリームが mark() と reset() を サポートするかを得る。
 int readCode()
          1byte の LZSS未圧縮のデータもしくは、 LZSS で圧縮された圧縮コードのうち一致長を読み込む。
未圧縮データは 0〜255、 LZSS圧縮コード(一致長)は 256〜511 の値を取らなければならない。
 int readOffset()
          LZSS で圧縮された圧縮コードのうち一致位置を読み込む。
 void reset()
          接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。
 

Method Detail

mark

void mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の読み込み位置に戻れるようにする。
InputStream の mark() と違い、 readLimit で設定した 限界バイト数より前にマーク位置が無効になってもかまわない。 ただし、readLimit を無視して無限に reset() 可能な InputStream と接続している場合は readLimit にどのような値を設定されても reset() で必ずマーク位置に復旧できなければならない。

Parameters:
readLimit - マーク位置に戻れる限界のバイト数。 このバイト数を超えてデータを読み込んだ場合 reset()できなくなる可能性がある。

reset

void reset()
           throws java.io.IOException
接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。

Throws:
java.io.IOException - 入出力エラーが発生した場合

markSupported

boolean markSupported()
接続された入力ストリームが mark() と reset() を サポートするかを得る。

Returns:
ストリームが mark() と reset() を サポートする場合は true。
サポートしない場合は false。

available

int available()
              throws java.io.IOException
接続された入力ストリームからブロックしないで 読み込むことのできる最低バイト数を得る。
この数値は完全である事を保障しなくてよい。 これは故意に作成されたデータ等ではブロックせずに 読み込む事の出来る最低バイト数を得るには 実際に読み込んでみる以外に方法がないためである。

Returns:
ブロックしないで読み出せる最低バイト数。
Throws:
java.io.IOException - 入出力エラーが発生した場合

close

void close()
           throws java.io.IOException
この入力ストリームを閉じ、使用していた 全てのリソースを開放する。

Throws:
java.io.IOException - 入出力エラーが発生した場合

readCode

int readCode()
             throws java.io.IOException
1byte の LZSS未圧縮のデータもしくは、 LZSS で圧縮された圧縮コードのうち一致長を読み込む。
未圧縮データは 0〜255、 LZSS圧縮コード(一致長)は 256〜511 の値を取らなければならない。

Returns:
1byte の LZSS未圧縮のデータもしくは、 LZSS で圧縮された圧縮コードのうち一致長
Throws:
java.io.IOException - 入出力エラーが発生した場合
java.io.EOFException - EndOfStreamに達した場合

readOffset

int readOffset()
               throws java.io.IOException
LZSS で圧縮された圧縮コードのうち一致位置を読み込む。

Returns:
LZSS で圧縮された圧縮コードのうち一致位置
Throws:
java.io.IOException - 入出力エラーが発生した場合

getDictionarySize

int getDictionarySize()
このPreLzssDecoderが処理するLZSS辞書のサイズを得る。

Returns:
LZSS辞書のサイズ

getMaxMatch

int getMaxMatch()
このPreLzssDecoderが処理する最長一致長を得る。

Returns:
最長一致長

getThreshold

int getThreshold()
このPreLzssDecoderが処理する圧縮、非圧縮の閾値を得る。

Returns:
LZSSの閾値

LHA Library for Java

When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.