net.trialpc.sticktools.model
クラス WrapModel<T extends LangModel>

java.lang.Object
  上位を拡張 net.trialpc.sticktools.model.AbstractLangModel
      上位を拡張 net.trialpc.sticktools.model.WrapModel<T>
すべての実装されたインタフェース:
java.util.EventListener, LangModel, StateChangeListener, StateChangeObservable
直系の既知のサブクラス:
DocCollection, WrapDocument

public abstract class WrapModel<T extends LangModel>
extends AbstractLangModel
implements StateChangeListener, StateChangeObservable

言語モデルの集合を基にした言語モデルの簡易実装を提供するクラスです。

このクラスを拡張するサブクラスで Serializable を実装する場合は、 変更通知を行うリスナのコレクションを直列化する必要があります。 つまり、実装者が listeners フィールドを直列化、復元する必要があります。 直列化の方法については、Serializable を参照してください。

作成者:
tetsu
関連項目:
BaseModel

フィールドの概要
protected  java.util.Collection<StateChangeListener> listeners
          状態変化を通知するリスナのコレクションです。
 
コンストラクタの概要
WrapModel()
          変更通知を行う WrapModel を生成します。
WrapModel(boolean notify)
          変更通知を行うかどうかを設定して WrapModel を生成します。
 
メソッドの概要
protected  boolean addChildModel(T model)
          ラッピングする言語モデルを追加します。
protected  void addChildModelAll(java.util.Collection<T> c)
          複数の言語モデルを、ラッピングの対象として追加します。
 void addListener(StateChangeListener listener)
          状態変更を通知するインスタンスを追加します。
protected static java.util.Collection<StateChangeListener> castCollection(java.lang.Object o)
          リスナを含むコレクションにキャストします。
 boolean equals(java.lang.Object o)
          同じ動作を示す WrapModel であるかを返します。
protected abstract  java.util.Set<T> getChildrenModels()
          ラッピングしている言語モデルのセットを返します。
 java.util.Set<java.lang.String> getVocabulary()
          この言語モデルの語彙を返します。
 int hashCode()
          WrapModel のハッシュコードを返します。
 boolean isModifiable()
          言語モデルに含まれる語を変更可能かどうかを返します。
 int numOfTerms()
          この言語モデルに含まれる語の総数を返します。
 void stateChanged(StateEvent event)
          状態が変更された時に呼び出されます。
 int termCount(java.lang.String term)
          語 term の出現回数を返します。
 
クラス net.trialpc.sticktools.model.AbstractLangModel から継承されたメソッド
containsTerm, containsTerms, contaisQueries, numOfVocabulary, termFrequency, toString
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

listeners

protected java.util.Collection<StateChangeListener> listeners
状態変化を通知するリスナのコレクションです。 通知しない場合は null になります。

コンストラクタの詳細

WrapModel

public WrapModel()
変更通知を行う WrapModel を生成します。


WrapModel

public WrapModel(boolean notify)
変更通知を行うかどうかを設定して WrapModel を生成します。

パラメータ:
notify - 変更通知を行うかどうか
メソッドの詳細

isModifiable

public boolean isModifiable()
言語モデルに含まれる語を変更可能かどうかを返します。 この実装では、ラッピングしている言語モデルに 1 つでも語を変更可能なインスタンスが含まれている場合は true を返します。

定義:
インタフェース LangModel 内の isModifiable
オーバーライド:
クラス AbstractLangModel 内の isModifiable
戻り値:
変更可能であれば true、変更不可能であれば false

numOfTerms

public int numOfTerms()
インタフェース LangModel の記述:
この言語モデルに含まれる語の総数を返します。 語の総数は、語彙の延べ語数とも呼ばれます。 通常、このメソッドで返される値は 0 以上です。

定義:
インタフェース LangModel 内の numOfTerms
戻り値:
語の総数

termCount

public int termCount(java.lang.String term)
インタフェース LangModel の記述:

term の出現回数を返します。 出現回数は頻度とも呼ばれます。通常、このメソッドで返される値は 0 以上です。

定義:
インタフェース LangModel 内の termCount
パラメータ:
term - 語(通常は単語と同義)
戻り値:
term の出現回数

getVocabulary

public java.util.Set<java.lang.String> getVocabulary()
インタフェース LangModel の記述:
この言語モデルの語彙を返します。 言語モデルに語彙が 1 つも存在しない場合は、空の Set が返されます。

定義:
インタフェース LangModel 内の getVocabulary
戻り値:
語彙を示すセット

stateChanged

public void stateChanged(StateEvent event)
インタフェース StateChangeListener の記述:
状態が変更された時に呼び出されます。 変更内容は event から取得できます。

定義:
インタフェース StateChangeListener 内の stateChanged
パラメータ:
event - 状態の変更内容
関連項目:
StateEvent

addListener

public void addListener(StateChangeListener listener)
状態変更を通知するインスタンスを追加します。

定義:
インタフェース StateChangeObservable 内の addListener
パラメータ:
listener - StateChangeListener を実装したインスタンス
例外:
java.lang.NullPointerException - listenernull である場合

hashCode

public int hashCode()
WrapModel のハッシュコードを返します。

オーバーライド:
クラス java.lang.Object 内の hashCode

equals

public boolean equals(java.lang.Object o)
同じ動作を示す WrapModel であるかを返します。 このメソッドが true を返すのは、引数が同じ BaseModel を含む場合です。 変更可能かどうかは判定条件には含まれません。

オーバーライド:
クラス java.lang.Object 内の equals
パラメータ:
o - 比較対象のインスタンス
戻り値:
同一の WrapModel である場合は true

addChildModel

protected boolean addChildModel(T model)
ラッピングする言語モデルを追加します。

パラメータ:
model - 追加される言語モデル
例外:
java.lang.NullPointerException - modelnull である場合

addChildModelAll

protected void addChildModelAll(java.util.Collection<T> c)
複数の言語モデルを、ラッピングの対象として追加します。 このメソッドの実装は、addChildModel(LangModel) に依存しています。

パラメータ:
c - 言語モデルを含むコレクション
例外:
java.lang.NullPointerException - cnull である場合
関連項目:
addChildModel(LangModel)

getChildrenModels

protected abstract java.util.Set<T> getChildrenModels()
ラッピングしている言語モデルのセットを返します。 ラッピングの対象がない場合でも、空のセットを返すように実装されるべきです。

戻り値:
ラッピングの対象となる言語モデルのセット

castCollection

protected static java.util.Collection<StateChangeListener> castCollection(java.lang.Object o)
リスナを含むコレクションにキャストします。

パラメータ:
o - リスナを含むコレクションのインスタンス
戻り値:
キャストされたコレクション
例外:
java.lang.ClassCastException - o のクラスが StateChangeListener を含む Collection でない場合。