jp.ne.ytp.util.tree
インタフェース TreeActionListener

すべてのスーパーインタフェース:
EventListener

public interface TreeActionListener
extends EventListener

MultiKeyTreeクラスからイベントを通知するためのメソッドを規定するインタフェースです。 MultiKeyTreeクラスを利用する場合は、このインタフェースを実装したクラスが必要です。
大きく分けると、

  1. 木を作成する際に呼び出されるメソッド
  2. 木を走査(トラバース)する際に呼び出されるメソッド
の2種類があります。

バージョン:
$Id: TreeActionListener.java,v 1.3 2003/02/27 05:29:57 YT0050 Exp $
作成者:
YTP
関連項目:
MultiKeyTree

メソッドの概要
 Object create(int iLayer)
          まだ存在しないキーを持つノードが新たに生成された場合に呼び出されるメソッドです。
 Object initializeRoot()
          ルートノードを初期化するために呼び出されます。
 void makeFooter(Object key, int iLayer, Object nodeData)
          木の走査時に、最下層を除く各ノードのフッタ部分(帰りがけ)で呼び出されるメソッドです。
 void makeHeader(Object key, int iLayer, Object nodeData)
          木の走査時に、最下層を除く各ノードのヘッダ部分(行きがけ)で呼び出されるメソッドです。
 Object match(int iLayer, Object nodeData)
          同一階層に同一キーのノードがすでに存在する場合に呼び出されます。
 void sort(Object[] keys, int iLayer, Object nodeData)
          木の走査時に最下層のノードで呼び出されるメソッドです。
 

メソッドの詳細

initializeRoot

public Object initializeRoot()
ルートノードを初期化するために呼び出されます。 このメソッドを実装する場合、ルートノード(階層番号0)用のデータオブジェクトを生成し、 そのオブジェクトを返すようにして下さい。 このメソッドは、MultiKeyTreeクラスを利用する側が、 MultiKeyTree.addListener(TreeActionListener)を呼んだ時に一度だけ呼び出されます。

戻り値:
ルートノードが持つデータオブジェクト

create

public Object create(int iLayer)
まだ存在しないキーを持つノードが新たに生成された場合に呼び出されるメソッドです。 このメソッドを実装する場合、iLayerを判断して適切なデータオブジェクトを生成し、 そのオブジェクトを返すようにして下さい。 各階層で新規のノード(キー)が生成された場合は、 このメソッドが必ず呼び出されることに注意して下さい。

パラメータ:
iLayer - 生成したノードの階層番号(1オリジン ただしルートノードの場合のみ0)
戻り値:
ノードが管理するデータオブジェクト

match

public Object match(int iLayer,
                    Object nodeData)
同一階層に同一キーのノードがすでに存在する場合に呼び出されます。 このメソッドを実装する場合、iLayerを判断して、 nodeDataで渡されたデータオブジェクトに対して適切な処理を行い、 再びそのオブジェクトを返すようにして下さい。 階層番号が0であるルートノードを含み、 各階層でこのメソッドが呼び出されることに注意して下さい。

パラメータ:
iLayer - 一致したノードの階層番号(1オリジン ただしルートノードの場合のみ0)
nodeData - ノードが管理するデータオブジェクト
戻り値:
ノードが管理するデータオブジェクト

sort

public void sort(Object[] keys,
                 int iLayer,
                 Object nodeData)
木の走査時に最下層のノードで呼び出されるメソッドです。 keysは1レコード分に相当する全階層のキー配列です。 nodeDataは最下層ノードが管理するデータオブジェクトです。 makeHeader(Object, int, Object)makeHeader(Object, int, Object)を使わずに、 このメソッドのみを実装すると、ソートされた明細として出力することが可能となります。

パラメータ:
keys - 最上位階層から最下層までのキー配列
iLayer - 最下層の階層数
nodeData - 最下層ノードが管理するデータオブジェクト

makeHeader

public void makeHeader(Object key,
                       int iLayer,
                       Object nodeData)
木の走査時に、最下層を除く各ノードのヘッダ部分(行きがけ)で呼び出されるメソッドです。

パラメータ:
key - ノードのキー
iLayer - ノードの階層番号(1オリジン、ただしルートノードの場合は0)
nodeData - ノードが管理するデータオブジェクト

makeFooter

public void makeFooter(Object key,
                       int iLayer,
                       Object nodeData)
木の走査時に、最下層を除く各ノードのフッタ部分(帰りがけ)で呼び出されるメソッドです。

パラメータ:
key - ノードのキー
iLayer - ノードの階層番号(1オリジン、ただしルートノードの場合は0)
nodeData - ノードが管理するデータオブジェクト


Copyright© 2003, Your Technology Partner(YTP). All rights reserved.