LHA Library for Java

jp.gr.java_conf.dangan.util.lha
クラス SimpleSearch

java.lang.Object
  拡張jp.gr.java_conf.dangan.util.lha.SimpleSearch
すべての実装インタフェース:
LzssSearchMethod

public class SimpleSearch
extends Object
implements LzssSearchMethod

特別な検索機構を用いない LzssSearchMethod の最もシンプルな実装。
検索機構を用いないため、 他の検索機構を用いる実装と比べると遅いが、 メモリ消費量も非常に少ない。

 -- revision history --
 $Log: SimpleSearch.java,v $
 Revision 1.0  2002/08/05 00:00:00  dangan
 add to version control
 [change]
     LzssSearchMethod のインタフェイス変更にあわせてインタフェイス変更。
 [maintenance]
     ソース整備
     タブ廃止
     ライセンス文の修正

 

バージョン:
$Revision: 1.0 $
作成者:
$Author: dangan $

コンストラクタの概要
SimpleSearch(int DictionarySize, int MaxMatch, int Threshold, byte[] TextBuffer)
          特別な検索機構を用いないシンプルな LzssSearchMethod を構築する。
 
メソッドの概要
 void put(int position)
          SimpleSearch は検索機構を使用しないため このメソッドは何もしない。
 int putRequires()
          SimpleSearch は検索機構を使用しないため常に 0 を返す。
 int search(int position, int lastPutPos)
          TextBuffer 内の辞書領域にあるデータパタンから position から始まるデータパタンと 最長の一致を持つものを検索する。
 int searchAndPut(int position)
          TextBuffer 内の辞書領域にあるデータパタンから position から始まるデータパタンと 最長の一致を持つものを検索する。
 void slide()
          LzssOutputStream が slide() でTextBuffer内のデータを DictionarySize だけ移動させる際に検索機構内のデータを それらと矛盾無く移動させる処理を行う。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SimpleSearch

public SimpleSearch(int DictionarySize,
                    int MaxMatch,
                    int Threshold,
                    byte[] TextBuffer)
特別な検索機構を用いないシンプルな LzssSearchMethod を構築する。

パラメータ:
DictionarySize - 辞書サイズ
MaxMatch - 最大一致長
Threshold - 圧縮、非圧縮の閾値
TextBuffer - LZSS圧縮を施すためのバッファ
メソッドの詳細

put

public void put(int position)
SimpleSearch は検索機構を使用しないため このメソッドは何もしない。

定義:
インタフェース LzssSearchMethod 内の put
パラメータ:
position - TextBuffer内のデータパタンの開始位置

searchAndPut

public int searchAndPut(int position)
TextBuffer 内の辞書領域にあるデータパタンから position から始まるデータパタンと 最長の一致を持つものを検索する。

定義:
インタフェース LzssSearchMethod 内の searchAndPut
パラメータ:
position - TextBuffer内のデータパタンの開始位置。
戻り値:
一致が見つかった場合は LzssOutputStream.createSearchReturn によって生成された一致位置と一致長の情報を持つ値、 一致が見つからなかった場合は LzssOutputStream.NOMATCH。
関連項目:
LzssOutputStream.createSearchReturn(int,int), LzssOutputStream.NOMATCH

search

public int search(int position,
                  int lastPutPos)
TextBuffer 内の辞書領域にあるデータパタンから position から始まるデータパタンと 最長の一致を持つものを検索する。

定義:
インタフェース LzssSearchMethod 内の search
パラメータ:
position - TextBuffer内のデータパタンの開始位置。
lastPutPos - 最後に登録したデータパタンの開始位置。
戻り値:
一致が見つかった場合は LzssOutputStream.createSearchReturn によって生成された一致位置と一致長の情報を持つ値、 一致が見つからなかった場合は LzssOutputStream.NOMATCH。
関連項目:
LzssOutputStream.createSearchReturn(int,int), LzssOutputStream.NOMATCH

slide

public void slide()
LzssOutputStream が slide() でTextBuffer内のデータを DictionarySize だけ移動させる際に検索機構内のデータを それらと矛盾無く移動させる処理を行う。

定義:
インタフェース LzssSearchMethod 内の slide

putRequires

public int putRequires()
SimpleSearch は検索機構を使用しないため常に 0 を返す。

定義:
インタフェース LzssSearchMethod 内の putRequires
戻り値:
常に 0

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.