|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object jp.go.aist.dmrc.platform.beans.system.PFExternalProgramIF
public class PFExternalProgramIF
外部プログラム通信コンポーネント。
このコンポーネントは、プラットフォームの外にある外部プログラムを起動したのち、
そのプログラムとの入出力ストリームを確保し、通信を行います。ただし、起動する外部プロ
グラムは、GUIを持たないコマンドライン式のものとします。
通信の仕方には、対話モードと非対話モードの2つがあります。対話モードの場合、1つの
コマンド処理が終了し、その返値を受け取ってから次のコマンドを送信します。非対話モード
の場合、送信したコマンドの処理状況に関わらず、setCommand()によって設定されたコマンド
を随時送信し、最後に外部プログラムが終了した時点で、すべての外部プログラム出力をまとめて
受け取ります。対話モード、非対話モードのいずれにおいても、setCommand()による
送信コマンドの設定は、任意のタイミングで行うことができます。
コンポーネントから発生するイベント
トリガ | 設定データ | イベント番号 |
---|---|---|
setProgram()による外部プログラムの設定 | 設定された外部プログラムを示す文字列String
| - |
トリガ | 結果データ | イベント番号 |
---|---|---|
外部プログラムの 対話モードでの起動 | 起動された外部プログラムを示す文字列String
| 1 |
対話モードで起動した 外部プログラムの終了 | 終了した外部プログラムを示す文字列String
| 2 |
外部プログラムへのコマンド送信 | 送信コマンド文字列String
| 3 |
外部プログラムの 非対話モードでの起動 | 起動された外部プログラムを示す文字列String
| 4 |
非対話モードで起動した 外部プログラムの終了 | 終了した外部プログラムの出力結果を示す文字列String
| 5 |
トリガ | 対象データ | 更新データ | イベント番号 |
---|---|---|---|
setCommand()による送信コマンドの設定 | 設定後の送信コマンドのキューPFObjectList
| 設定されたコマンド文字列String
| 1 |
removeCommand()による送信コマンドの削除 | 削除後の送信コマンドのキュー | 削除されたコマンド文字列String
| 2 |
トリガ | 対象データ | イベント番号 |
---|---|---|
外部プログラムからの結果の受信 | 受信結果文字列String
| - |
コンストラクタの概要 | |
---|---|
PFExternalProgramIF()
コンストラクタ |
|
PFExternalProgramIF(java.lang.String strProg)
起動・通信する外部プログラムを指定したインスタンスを生成する。 |
メソッドの概要 | |
---|---|
void |
addPFDataCreateListener(PFDataCreateListener lis)
引数で与えられたイベントリスナを登録し、 データ生成イベント発生時に処理を行う対象とする。 |
void |
addPFDataSetListener(PFDataSetListener lis)
引数で与えられたイベントリスナを登録し、 データ設定イベント発生時に処理を行う対象とする。 |
void |
addPFDataUpdateListener(PFDataUpdateListener lis)
引数で与えられたイベントリスナを登録し、 データ更新イベント発生時に処理を行う対象とする。 |
void |
addPFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。 |
void |
browseByDefaultBrowser(java.lang.String url)
標準のブラウザでURLを開く。 |
int |
countUnsentCommand()
未送信コマンド数を取得する。 |
java.lang.String |
getCommand(int index)
外部プログラムへ送信したコマンドをインデックスで指定して取得する。 |
java.lang.String |
getCommand(java.lang.String res)
外部プログラムからの結果を指定し、それに対応する送信コマンドを 取得する。 |
java.lang.String |
getCommandln(int index)
外部プログラムへ送信したコマンドをインデックスで指定し、 改行を付けて取得する。 |
java.lang.String |
getCommandln(java.lang.String res)
外部プログラムからの結果を指定し、それに対応する送信コマンドを 改行を付けて取得する。 |
int |
getComponentID()
コンポーネントIDを取得する。 |
java.lang.String |
getComponentKey()
コンポーネントキーを取得する。 |
java.lang.String |
getComponentName()
コンポーネント名称を取得する。 |
java.lang.String |
getComponentPublicName()
コンポーネント公開名を取得する. |
java.lang.String |
getComponentString()
コンポーネントの文字列表現を取得する。 |
java.lang.String |
getErrorMessage()
実行中の外部プログラムからのエラーメッセージを取得する。 |
int |
getExitValue()
外部プログラムが終了したときの終了コードを取得する。 |
java.lang.String |
getLastCommand()
外部プログラムへ最後に送信したコマンドを取得する。 |
java.lang.String |
getLastCommandln()
外部プログラムへ最後に送信したコマンドを、改行を付けて返す。 |
java.lang.String |
getLastResult()
外部プログラムから最後に得た結果を取得する。 |
java.lang.String |
getLastResultln()
外部プログラムから最後に得た結果を、改行を付けて取得する。 |
java.util.Iterator |
getPFDataCreateListenerList()
データ生成イベントリスナ配列を取得する。 |
java.util.Iterator |
getPFDataSetListenerList()
データ設定イベントリスナ配列を取得する。 |
java.util.Iterator |
getPFDataUpdateListenerList()
データ更新イベントリスナ配列を取得する。 |
java.util.Iterator |
getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。 |
java.lang.String |
getProgram()
起動・通信を行う外部プログラム名を返す。 |
java.lang.String |
getResult(int index)
外部プログラムからの結果をインデックスで指定して取得する。 |
java.lang.String |
getResult(java.lang.String cmd)
文字列で指定された送信コマンドに対応する外部プログラムからの結果を 取得する。 |
java.lang.String |
getResultln(int index)
外部プログラムからの結果をインデックスで指定し、改行を付けて取得する。 |
java.lang.String |
getResultln(java.lang.String cmd)
文字列で指定された送信コマンドに対応する外部プログラムからの結果を 改行を付けて取得する。 |
boolean |
isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する. |
boolean |
isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する. |
boolean |
isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する. |
void |
launchProgram(int eventNo,
java.lang.String command,
PFObjectList envList,
java.lang.String dirStr)
外部プログラム名を指定して独立したプロセスで実行する。 |
void |
launchProgram(java.lang.String command,
PFObjectList envList,
java.lang.String dirStr)
外部プログラム名を指定して独立したプロセスで実行する。 |
void |
localeUpdated()
ロケール変更に対応する。 |
void |
openByDefaultProgram(java.io.File file)
関連づけられたアプリケーションでファイルを開く。 |
void |
readXML(PFXMLLoader in)
コンポーネントのXML入力. |
void |
removeAll()
全リストの全要素を削除する。 |
java.lang.String |
removeCommand(int index)
外部プログラムへ送信予定のコマンド文字列を削除する。 |
int |
removeCommand(java.lang.String strCmd)
外部プログラムへ送信予定のコマンド文字列を削除する。 |
void |
removePFDataCreateListener(PFDataCreateListener lis)
引数で与えられたイベントリスナを削除し、 データ生成イベント発生時に処理を行う対象から外す。 |
void |
removePFDataSetListener(PFDataSetListener lis)
引数で与えられたイベントリスナを削除し、 データ設定イベント発生時に処理を行う対象から外す。 |
void |
removePFDataUpdateListener(PFDataUpdateListener lis)
引数で与えられたイベントリスナを削除し、 データ更新イベント発生時に処理を行う対象から外す。 |
void |
removePFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。 |
void |
setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する. |
void |
setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する. |
void |
setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する. |
int |
setCommand(java.lang.String strCmd)
外部プログラムへ送信するコマンド文字列を設定する。 |
void |
setComponentID(int id)
コンポーネントIDを設定する。 |
void |
setComponentKey(java.lang.String key)
コンポーネントキーを設定する。 |
void |
setComponentPublicName(java.lang.String publicName)
コンポーネント公開名を設定する. |
void |
setProgram(java.lang.String strProg)
起動・通信を行う外部プログラムを指定する。 |
void |
startProgram()
指定された外部プログラムを対話モードで起動する。 |
void |
startProgram(boolean interact)
指定された外部プログラムを対話・非対話モード指定で起動する。 |
void |
startProgram(boolean interact,
PFObjectList envList,
java.lang.String dirStr)
指定された外部プログラムを対話有無・実行位置・環境変数指定で起動する。 |
void |
terminateLaunchedProgram()
実行中の全ての外部プログラム(独立プロセス)を終了する。 |
void |
terminateProgram()
実行中の外部プログラムを終了する。 |
void |
writeXML(PFXMLGenerator out)
コンポーネントのXML出力. |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public PFExternalProgramIF()
public PFExternalProgramIF(java.lang.String strProg)
strProg
- 外部コマンド名メソッドの詳細 |
---|
public java.lang.String getComponentName()
PFComponent
内の getComponentName
public java.lang.String getComponentKey()
PFComponent
内の getComponentKey
public void setComponentKey(java.lang.String key)
PFComponent
内の setComponentKey
key
- コンポーネントキー文字列public int getComponentID()
PFComponent
内の getComponentID
public void setComponentID(int id)
PFComponentBus
から設定される。
各コンポーネント内では操作しないこと。
PFComponent
内の setComponentID
id
- 設定するコンポーネントIDpublic java.lang.String getComponentString()
PFComponent
内の getComponentString
public java.lang.String getComponentPublicName()
PFComponent
内の getComponentPublicName
public void setComponentPublicName(java.lang.String publicName) throws PFComponentException
PFComponent
内の setComponentPublicName
publicName
- 設定するコンポーネント公開名
PFComponentException
- 規約に反する名前が設定されようとした場合public boolean isAllowRemoteInvocation()
PFComponent
内の isAllowRemoteInvocation
public void setAllowRemoteInvocation(boolean flag)
PFComponent
内の setAllowRemoteInvocation
flag
- コンポーネント連携要求に対する可否public boolean isAllowPullTransfer()
PFComponent
内の isAllowPullTransfer
public void setAllowPullTransfer(boolean flag)
PFComponent
内の setAllowPullTransfer
flag
- Pull型コンポーネント転送要求に対する可否public boolean isAllowPushTransfer()
PFComponent
内の isAllowPushTransfer
public void setAllowPushTransfer(boolean flag)
PFComponent
内の setAllowPushTransfer
flag
- Push型コンポーネント転送要求に対する可否public java.util.Iterator getPFProcessTerminateListenerList()
PFProcessTerminateEventSource
内の getPFProcessTerminateListenerList
public void addPFProcessTerminateListener(PFProcessTerminateListener lis)
PFProcessTerminateEventSource
内の addPFProcessTerminateListener
lis
- 追加対象イベントリスナpublic void removePFProcessTerminateListener(PFProcessTerminateListener lis)
PFProcessTerminateEventSource
内の removePFProcessTerminateListener
lis
- 削除対象イベントリスナpublic java.util.Iterator getPFDataCreateListenerList()
PFDataCreateEventSource
内の getPFDataCreateListenerList
public void addPFDataCreateListener(PFDataCreateListener lis)
PFDataCreateEventSource
内の addPFDataCreateListener
lis
- 追加対象イベントリスナpublic void removePFDataCreateListener(PFDataCreateListener lis)
PFDataCreateEventSource
内の removePFDataCreateListener
lis
- 削除対象イベントリスナpublic java.util.Iterator getPFDataSetListenerList()
PFDataSetEventSource
内の getPFDataSetListenerList
public void addPFDataSetListener(PFDataSetListener lis)
PFDataSetEventSource
内の addPFDataSetListener
lis
- 追加対象イベントリスナpublic void removePFDataSetListener(PFDataSetListener lis)
PFDataSetEventSource
内の removePFDataSetListener
lis
- 削除対象イベントリスナpublic java.util.Iterator getPFDataUpdateListenerList()
PFDataUpdateEventSource
内の getPFDataUpdateListenerList
public void addPFDataUpdateListener(PFDataUpdateListener lis)
PFDataUpdateEventSource
内の addPFDataUpdateListener
lis
- 追加対象イベントリスナpublic void removePFDataUpdateListener(PFDataUpdateListener lis)
PFDataUpdateEventSource
内の removePFDataUpdateListener
lis
- 削除対象イベントリスナpublic void localeUpdated()
PFComponent
内の localeUpdated
public void setProgram(java.lang.String strProg) throws PFComponentException
strProg
- 外部プログラム名
PFComponentException
public java.lang.String getProgram()
public void startProgram() throws PFComponentException
PFComponentException
public void startProgram(boolean interact) throws PFComponentException
interact
- trueのとき、対話モード
PFComponentException
public void startProgram(boolean interact, PFObjectList envList, java.lang.String dirStr) throws PFComponentException
interact
- trueのとき、対話モードenvList
- 環境変数リストdirStr
- 実行位置
PFComponentException
public int setCommand(java.lang.String strCmd) throws PFComponentException
strCmd
- コマンド文字列
PFComponentException
public int removeCommand(java.lang.String strCmd) throws PFComponentException
strCmd
- 削除するコマンド文字列
PFComponentException
public java.lang.String removeCommand(int index) throws PFComponentException
index
- 削除するコマンド文字列のインデックス
PFComponentException
public void terminateProgram() throws PFException
PFException
public int getExitValue()
public java.lang.String getResult(java.lang.String cmd)
cmd
- 送信コマンドを示す文字列
public java.lang.String getResultln(java.lang.String cmd)
cmd
- 送信コマンドを示す文字列
public java.lang.String getResult(int index)
index
- インデックス
public java.lang.String getResultln(int index)
index
- インデックス
public java.lang.String getLastResult()
public java.lang.String getLastResultln()
public java.lang.String getCommand(java.lang.String res)
res
- 結果を示す文字列
public java.lang.String getCommandln(java.lang.String res)
res
- 結果を示す文字列
public java.lang.String getCommand(int index)
index
- インデックス
public java.lang.String getCommandln(int index)
index
- インデックス
public java.lang.String getLastCommand()
public java.lang.String getLastCommandln()
public int countUnsentCommand()
public void removeAll()
public void launchProgram(java.lang.String command, PFObjectList envList, java.lang.String dirStr) throws PFComponentException
command
- 起動する外部プログラムのコマンドenvList
- 環境変数と値のリストdirStr
- 起動するディレクトリ
PFComponentException
- 起動失敗public void launchProgram(int eventNo, java.lang.String command, PFObjectList envList, java.lang.String dirStr) throws PFComponentException
eventNo
- 結果を受け取る際のイベント番号command
- 起動する外部プログラムのコマンドenvList
- 環境変数と値のリストdirStr
- 起動するディレクトリ
PFComponentException
- 起動失敗public void terminateLaunchedProgram() throws PFException
PFException
public java.lang.String getErrorMessage()
public void readXML(PFXMLLoader in)
PFXMLSerializable
内の readXML
in
- XML入力ユーティリティpublic void writeXML(PFXMLGenerator out) throws java.io.IOException
PFXMLSerializable
内の writeXML
out
- XML出力ユーティリティ
java.io.IOException
public void openByDefaultProgram(java.io.File file) throws PFException
file
- ファイル
PFException
public void browseByDefaultBrowser(java.lang.String url) throws PFException
url
- URL
PFException
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |