jp.go.aist.dmrc.platform.beans.util.controller
クラス PFObjectSwitch

java.lang.Object
  上位を拡張 jp.go.aist.dmrc.platform.beans.util.controller.PFObjectSwitch
すべての実装されたインタフェース:
java.io.Serializable, jp.go.aist.dmrc.platform.base.PFAdditionalPropertyEditableComponent, PFComponent, PFXMLSerializable, PFEventSource, PFProcessTerminateEventSource

public class PFObjectSwitch
extends java.lang.Object
implements PFComponent, jp.go.aist.dmrc.platform.base.PFAdditionalPropertyEditableComponent, PFProcessTerminateEventSource, PFXMLSerializable

オブジェクト分岐コンポーネント。javaのswitchに対応する。 指定したオブジェクトがあらかじめ定義された条件(case)に該当すると、 その条件に割り当てられたイベント番号でイベントを発生させる。

条件はテーブル形式(PFObjectTable)で定義する。外部から条件テーブルを設定する 場合は、1列目がBigInteger型、2列目がObject型で任意行数という仕様を満たす必要がある。 メソッド呼び出しの組み合わせで条件テーブルを設定することも可能である。

このコンポーネントから以下のイベントが発生する。

関連項目:
直列化された形式

コンストラクタの概要
PFObjectSwitch()
          デフォルトコンストラクタ
 
メソッドの概要
 void addCase(int index, int eventNo, java.lang.Object obj)
          条件分岐用テーブルに条件を追加する(指定位置).
 void addCase(int eventNo, java.lang.Object obj)
          条件分岐用テーブルに条件を追加する(最後尾).
 void addCaseList(int index, PFObjectList eventNoList, PFObjectList objList)
          条件分岐用テーブルに条件リストを追加する(指定位置).
 void addCaseList(PFObjectList eventNoList, PFObjectList objList)
          条件分岐用テーブルに条件リストを追加する(最後尾).
 void addPFProcessTerminateListener(PFProcessTerminateListener lis)
          引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。
 void clearCaseTable()
          条件分岐用テーブルを初期化する.
 void clearCaseTableAsBigDecimal()
          条件分岐用テーブルを実数型で初期化する. 2列目のオブジェクト型を実数型(BigDecimal)で作成する.
 void clearCaseTableAsBigInteger()
          条件分岐用テーブルを整数型で初期化する. 2列目のオブジェクト型を整数型(BigInteger)で作成する.
 void clearCaseTableAsDate()
          条件分岐用テーブルを日付型で初期化する. 2列目のオブジェクト型を日付型(Date)で作成する.
 void clearCaseTableAsString()
          条件分岐用テーブルを文字列型で初期化する. 2列目のオブジェクト型を文字列型(String)で作成する.
 void evaluate(java.lang.Object object)
          判定を行う.与えられたオブジェクトに対しequalsメソッドを用いて 一致判定を行う.
 java.util.Collection getAdditionalButtonList(java.awt.Component parent)
          独自の属性編集ダイアログ表示用。
 PFObjectTable getCaseTable()
          条件分岐用テーブルを取得する.
 PFObjectTable getCaseTableForReadOnly()
          条件分岐用テーブルを表示用として取得する. 2列目のオブジェクト型を文字列型に変換したテーブルを返す.
 int getComponentID()
          コンポーネントIDを取得する。
 java.lang.String getComponentKey()
          コンポーネントキーを取得する。
 PFMultiLocaleString getComponentKeys()
          全ロケール分のコンポーネントキーを返す。
 java.lang.String getComponentName()
          コンポーネント名称を取得する。
 java.lang.String getComponentPublicName()
          コンポーネント公開名を取得する.
 java.lang.String getComponentString()
          コンポーネントの文字列表現を取得する。
 java.util.Iterator getPFProcessTerminateListenerList()
          処理完了イベントリスナ配列を取得する。
 boolean isAllowPullTransfer()
          他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowPushTransfer()
          他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowRemoteInvocation()
          他PFからのコンポーネント連携要求に対する可否属性を取得する.
 void localeUpdated()
          ロケール変更に対応する。
 void moveCase(int beforeIndex, int afterIndex)
          条件分岐用テーブル内で指定位置の条件を移動する.
 void readXML(PFXMLLoader in)
          コンポーネントのXML入力.
 void removeCase(int index)
          条件分岐用テーブルから指定位置の条件を削除する.
 void removePFProcessTerminateListener(PFProcessTerminateListener lis)
          引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。
 void setAllowPullTransfer(boolean flag)
          他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowPushTransfer(boolean flag)
          他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowRemoteInvocation(boolean flag)
          他PFからのコンポーネント連携要求に対する可否属性を設定する.
 void setCaseTable(PFObjectTable aTable)
          条件分岐用テーブルを設定する.
 void setComponentID(int id)
          コンポーネントIDを設定する。
 void setComponentKey(java.lang.String key)
          コンポーネントのキー情報を設定する
 void setComponentKeys(PFMultiLocaleString keys)
          全ロケール分のコンポーネントキーを設定する。
 void setComponentPublicName(java.lang.String publicName)
          コンポーネント公開名を設定する.
 void writeXML(PFXMLGenerator out)
          コンポーネントのXML出力.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PFObjectSwitch

public PFObjectSwitch()
デフォルトコンストラクタ

メソッドの詳細

getComponentName

public java.lang.String getComponentName()
コンポーネント名称を取得する。

定義:
インタフェース PFComponent 内の getComponentName
戻り値:
コンポーネント名
関連項目:
PFComponent.getComponentName()

getComponentKey

public java.lang.String getComponentKey()
コンポーネントキーを取得する。

定義:
インタフェース PFComponent 内の getComponentKey
戻り値:
コンポーネントキー文字列
関連項目:
PFComponent.getComponentKey()

setComponentKey

public void setComponentKey(java.lang.String key)
コンポーネントのキー情報を設定する

定義:
インタフェース PFComponent 内の setComponentKey
パラメータ:
key - 設定するコンポーネントのキー
関連項目:
PFComponent.setComponentKey(java.lang.String)

getComponentKeys

public PFMultiLocaleString getComponentKeys()
全ロケール分のコンポーネントキーを返す。

戻り値:
全ロケール分のコンポーネントキー

setComponentKeys

public void setComponentKeys(PFMultiLocaleString keys)
全ロケール分のコンポーネントキーを設定する。

パラメータ:
keys - 全ロケール分のコンポーネントキー

getComponentID

public int getComponentID()
コンポーネントIDを取得する。

定義:
インタフェース PFComponent 内の getComponentID
戻り値:
コンポーネントID
関連項目:
PFComponent.getComponentID()

setComponentID

public void setComponentID(int id)
コンポーネントIDを設定する。
コンポーネントIDはプラットフォームPFComponentBusから設定される。 各コンポーネント内では操作しないこと。

定義:
インタフェース PFComponent 内の setComponentID
パラメータ:
id - 設定するコンポーネントID
関連項目:
PFComponent.setComponentID(int)

getComponentString

public java.lang.String getComponentString()
コンポーネントの文字列表現を取得する。
形式:"Component Name" [ ID : "ID" ]

定義:
インタフェース PFComponent 内の getComponentString
戻り値:
コンポーネントの文字列表現を返す。
関連項目:
PFComponent.getComponentString()

getComponentPublicName

public java.lang.String getComponentPublicName()
コンポーネント公開名を取得する.

定義:
インタフェース PFComponent 内の getComponentPublicName
戻り値:
コンポーネント公開名

setComponentPublicName

public void setComponentPublicName(java.lang.String publicName)
                            throws PFComponentException
コンポーネント公開名を設定する.
空文字のみの公開名は、nullに置き換える。数字のみの公開名は許可しない。 また、既存コンポーネントとの重複も認めない.

定義:
インタフェース PFComponent 内の setComponentPublicName
パラメータ:
publicName - 設定するコンポーネント公開名
例外:
PFComponentException - 規約に反する名前が設定されようとした場合

isAllowRemoteInvocation

public boolean isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowRemoteInvocation
戻り値:
コンポーネント連携要求可否属性

setAllowRemoteInvocation

public void setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowRemoteInvocation
パラメータ:
flag - コンポーネント連携要求に対する可否

isAllowPullTransfer

public boolean isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPullTransfer
戻り値:
Pull型コンポーネント転送要求可否属性

setAllowPullTransfer

public void setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPullTransfer
パラメータ:
flag - Pull型コンポーネント転送要求に対する可否

isAllowPushTransfer

public boolean isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPushTransfer
戻り値:
Push型コンポーネント転送要求可否属性

setAllowPushTransfer

public void setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPushTransfer
パラメータ:
flag - Push型コンポーネント転送要求に対する可否

getPFProcessTerminateListenerList

public java.util.Iterator getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。

定義:
インタフェース PFProcessTerminateEventSource 内の getPFProcessTerminateListenerList
戻り値:
イベントリスナイテレータ

addPFProcessTerminateListener

public void addPFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。

定義:
インタフェース PFProcessTerminateEventSource 内の addPFProcessTerminateListener
パラメータ:
lis - 追加対象イベントリスナ

removePFProcessTerminateListener

public void removePFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。

定義:
インタフェース PFProcessTerminateEventSource 内の removePFProcessTerminateListener
パラメータ:
lis - 削除対象イベントリスナ

readXML

public void readXML(PFXMLLoader in)
コンポーネントのXML入力.

定義:
インタフェース PFXMLSerializable 内の readXML
パラメータ:
in - XML入力ユーティリティ

writeXML

public void writeXML(PFXMLGenerator out)
              throws java.io.IOException
コンポーネントのXML出力.

定義:
インタフェース PFXMLSerializable 内の writeXML
パラメータ:
out - XML出力ユーティリティ
例外:
java.io.IOException

localeUpdated

public void localeUpdated()
ロケール変更に対応する。

定義:
インタフェース PFComponent 内の localeUpdated
関連項目:
PFComponent.localeUpdated()

getAdditionalButtonList

public java.util.Collection getAdditionalButtonList(java.awt.Component parent)
独自の属性編集ダイアログ表示用。

定義:
インタフェース jp.go.aist.dmrc.platform.base.PFAdditionalPropertyEditableComponent 内の getAdditionalButtonList
パラメータ:
parent - 編集ダイアログの親コンポーネント

setCaseTable

public void setCaseTable(PFObjectTable aTable)
                  throws PFComponentException
条件分岐用テーブルを設定する.

パラメータ:
aTable - 条件分岐用テーブル
例外:
PFComponentException - 条件分岐用テーブルが仕様に準拠していない場合

getCaseTable

public PFObjectTable getCaseTable()
条件分岐用テーブルを取得する. 内部の条件分岐用テーブルの複製を返す。 テーブルの内容を編集する場合は設定メソッドで反映させる必要がある。

戻り値:
条件分岐用テーブル

getCaseTableForReadOnly

public PFObjectTable getCaseTableForReadOnly()
条件分岐用テーブルを表示用として取得する. 2列目のオブジェクト型を文字列型に変換したテーブルを返す. このメソッドで取得したテーブルを再度条件分岐用テーブルとして設定すると 内部の型が変わる場合があるので注意が必要である.

戻り値:
条件分岐用テーブル(表示用)

clearCaseTable

public void clearCaseTable()
条件分岐用テーブルを初期化する.


clearCaseTableAsString

public void clearCaseTableAsString()
条件分岐用テーブルを文字列型で初期化する. 2列目のオブジェクト型を文字列型(String)で作成する.


clearCaseTableAsBigInteger

public void clearCaseTableAsBigInteger()
条件分岐用テーブルを整数型で初期化する. 2列目のオブジェクト型を整数型(BigInteger)で作成する.


clearCaseTableAsBigDecimal

public void clearCaseTableAsBigDecimal()
条件分岐用テーブルを実数型で初期化する. 2列目のオブジェクト型を実数型(BigDecimal)で作成する.


clearCaseTableAsDate

public void clearCaseTableAsDate()
条件分岐用テーブルを日付型で初期化する. 2列目のオブジェクト型を日付型(Date)で作成する.


addCase

public void addCase(int eventNo,
                    java.lang.Object obj)
             throws PFComponentException
条件分岐用テーブルに条件を追加する(最後尾).

パラメータ:
eventNo - 一致したときのイベント番号
obj - 一致判定用オブジェクト
例外:
PFComponentException - 条件テーブルに対する操作の失敗

addCase

public void addCase(int index,
                    int eventNo,
                    java.lang.Object obj)
             throws PFComponentException
条件分岐用テーブルに条件を追加する(指定位置).

パラメータ:
index - 追加する位置
eventNo - 一致したときのイベント番号
obj - 一致判定用オブジェクト
例外:
PFComponentException - 条件テーブルに対する操作の失敗

addCaseList

public void addCaseList(PFObjectList eventNoList,
                        PFObjectList objList)
                 throws PFComponentException
条件分岐用テーブルに条件リストを追加する(最後尾).

パラメータ:
eventNoList - 一致したときのイベント番号リスト
objList - 一致判定用オブジェクトリスト
例外:
PFComponentException - 条件テーブルに対する操作の失敗

addCaseList

public void addCaseList(int index,
                        PFObjectList eventNoList,
                        PFObjectList objList)
                 throws PFComponentException
条件分岐用テーブルに条件リストを追加する(指定位置).

パラメータ:
index - 追加する位置
eventNoList - 一致したときのイベント番号リスト
objList - 一致判定用オブジェクトリスト
例外:
PFComponentException - 条件テーブルに対する操作の失敗

removeCase

public void removeCase(int index)
                throws PFComponentException
条件分岐用テーブルから指定位置の条件を削除する.

パラメータ:
index - 指定位置
例外:
PFComponentException - 条件テーブルに対する操作の失敗

moveCase

public void moveCase(int beforeIndex,
                     int afterIndex)
              throws PFComponentException
条件分岐用テーブル内で指定位置の条件を移動する.

パラメータ:
beforeIndex - 移動前の位置
afterIndex - 移動後の位置
例外:
PFComponentException - 条件テーブルに対する操作の失敗

evaluate

public void evaluate(java.lang.Object object)
              throws PFException
判定を行う.与えられたオブジェクトに対しequalsメソッドを用いて 一致判定を行う.

パラメータ:
object - 判定するオブジェクト
例外:
PFException - イベント処理エラー