|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object jp.go.aist.dmrc.platform.beans.interpreter.PFScriptInterpreter
public class PFScriptInterpreter
スクリプト言語の実行コンポーネント。 スクリプト言語で記述された文字列を解釈して実行し、MZアプリケーションと相互作用させることが可能。 MZ側から変数の取得と設定ができ、スクリプト内で"mz_event(番号)"および"mz_event2(番号,データ)"を 呼び出すとコンポーネントから所定のイベントを発生させることができる。
言語はデフォルトでJavaScriptと簡略化Java(BeanShell http://www.beanshell.org/)に対応。 言語の指定はメソッド起動か属性の設定で行い、JavaScriptはjs、Javaはjavaと指定する。 JRE6以降に追加されたjavax.script.*パッケージのAPIに対応する処理系があれば独自に追加可能。 例として、Python(Jython http://jython.org/)は対応するjython.jarを取得してパスに追加し、 言語指定をpythonとすれば利用できる。また、Ruby(JRuby http://www.jruby.org/) は対応するjruby.jarをパスに追加して言語をrubyとすれば利用できる。 ただし、PythonとRuby以外の言語を独自に追加した場合は、 MZ側イベント発生用の関数(mz_event/mz_event2)をスクリプト側で独自に設定する必要がある。
このコンポーネントから以下のイベントが発生する。
トリガー | イベント番号 |
---|---|
スクリプト中でのmz_event(番号)の呼び出し | 引数で指定した番号 |
トリガー | 結果データ | イベント番号 |
---|---|---|
スクリプト中でのmz_event2(番号,データ)の呼び出し | 引数で指定したデータ | 引数で指定した番号 |
コンストラクタの概要 | |
---|---|
PFScriptInterpreter()
デフォルトコンストラクタ |
メソッドの概要 | |
---|---|
void |
addPFActionListener(PFActionListener lis)
引数で与えられたイベントリスナを登録し、 アクションイベント発生時に処理を行う対象とする。 |
void |
addPFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。 |
void |
clear()
スクリプト環境を初期化する。 |
java.lang.Object |
evaluate()
現在の環境で保存スクリプトを実行する(戻り値あり)。 |
java.lang.Object |
evaluate(java.lang.String script)
現在の環境でスクリプト文字列を実行する(戻り値あり)。 |
java.lang.Object |
evaluateRuleTable(PFObjectTable table,
boolean all)
実行中の環境でルールテーブルを解釈して実行する。 |
void |
execute()
現在の環境で保存スクリプトを実行する(戻り値なし)。 |
void |
execute(java.lang.String script)
現在の環境でスクリプト文字列を実行する(戻り値なし)。 |
void |
fireEvent(int eventNo)
アクションイベントを発生させる。 |
void |
fireEvent(int eventNo,
java.lang.Object data)
処理完了イベントを発生させる。 |
protected void |
firePFActionPerformed(PFActionEvent event)
アクションイベントを発生させる。 |
protected void |
firePFProcessTerminated(PFProcessTerminateEvent event)
処理完了イベントを発生させる。 |
int |
getComponentID()
コンポーネントIDを取得する。 |
java.lang.String |
getComponentKey()
コンポーネントキーを取得する。 |
PFMultiLocaleString |
getComponentKeys()
全ロケール分のコンポーネントキーを返す。 |
java.lang.String |
getComponentName()
コンポーネント名称を取得する。 |
java.lang.String |
getComponentPublicName()
コンポーネント公開名を取得する. |
java.lang.String |
getComponentString()
コンポーネントの文字列表現を取得する。 |
java.lang.String |
getLanguage()
スクリプトの言語を取得する。 |
java.util.Iterator |
getPFActionListenerList()
アクションイベントリスナ配列を取得する。 |
java.util.Iterator |
getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。 |
java.lang.String |
getStoredScript()
保存用スクリプト文字列を取得する。 |
java.lang.Object |
getVariable(java.lang.String name)
実行中のスクリプト環境から変数を取得する。 |
boolean |
isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する. |
boolean |
isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する. |
boolean |
isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する. |
void |
localeUpdated()
ロケール変更に対応する。 |
void |
readXML(PFXMLLoader in)
コンポーネントのXML入力. |
void |
removePFActionListener(PFActionListener lis)
引数で与えられたイベントリスナを削除し、 アクションイベント発生時に処理を行う対象から外す。 |
void |
removePFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。 |
void |
setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する. |
void |
setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する. |
void |
setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する. |
void |
setComponentID(int id)
コンポーネントIDを設定する。 |
void |
setComponentKey(java.lang.String key)
コンポーネントのキー情報を設定する |
void |
setComponentKeys(PFMultiLocaleString keys)
全ロケール分のコンポーネントキーを設定する。 |
void |
setComponentPublicName(java.lang.String publicName)
コンポーネント公開名を設定する. |
void |
setLanguage(java.lang.String name)
スクリプトの言語を設定する。 |
void |
setStoredScript(java.lang.String script)
保存用スクリプト文字列を設定する。 |
void |
setVariable(java.lang.String name,
java.lang.Object obj)
実行中のスクリプト環境に変数を設定する。 |
void |
setVariableByExecute(java.lang.String name,
java.lang.String value)
実行中の環境で変数を設定するスクリプトを作成して実行する。 |
void |
writeXML(PFXMLGenerator out)
コンポーネントのXML出力. |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public PFScriptInterpreter()
メソッドの詳細 |
---|
public java.lang.String getComponentName()
PFComponent
内の getComponentName
PFComponent.getComponentName()
public java.lang.String getComponentKey()
PFComponent
内の getComponentKey
PFComponent.getComponentKey()
public void setComponentKey(java.lang.String key)
PFComponent
内の setComponentKey
key
- 設定するコンポーネントのキーPFComponent.setComponentKey(java.lang.String)
public PFMultiLocaleString getComponentKeys()
public void setComponentKeys(PFMultiLocaleString keys)
keys
- 全ロケール分のコンポーネントキーpublic int getComponentID()
PFComponent
内の getComponentID
PFComponent.getComponentID()
public void setComponentID(int id)
PFComponentBus
から設定される。
各コンポーネント内では操作しないこと。
PFComponent
内の setComponentID
id
- 設定するコンポーネントIDPFComponent.setComponentID(int)
public java.lang.String getComponentString()
PFComponent
内の 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 getPFActionListenerList()
PFActionEventSource
内の getPFActionListenerList
public void addPFActionListener(PFActionListener lis)
PFActionEventSource
内の addPFActionListener
lis
- 追加対象イベントリスナpublic void removePFActionListener(PFActionListener lis)
PFActionEventSource
内の removePFActionListener
lis
- 削除対象イベントリスナprotected void firePFActionPerformed(PFActionEvent event)
event
- アクションイベントpublic java.util.Iterator getPFProcessTerminateListenerList()
PFProcessTerminateEventSource
内の getPFProcessTerminateListenerList
public void addPFProcessTerminateListener(PFProcessTerminateListener lis)
PFProcessTerminateEventSource
内の addPFProcessTerminateListener
lis
- 追加対象イベントリスナpublic void removePFProcessTerminateListener(PFProcessTerminateListener lis)
PFProcessTerminateEventSource
内の removePFProcessTerminateListener
lis
- 削除対象イベントリスナprotected void firePFProcessTerminated(PFProcessTerminateEvent event)
event
- 処理完了イベントpublic void localeUpdated()
PFComponent
内の localeUpdated
PFComponent.localeUpdated()
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 fireEvent(int eventNo)
eventNo
- イベント番号public void fireEvent(int eventNo, java.lang.Object data)
eventNo
- イベント番号data
- イベント内包データpublic java.lang.Object evaluate(java.lang.String script) throws PFComponentException
script
- 文字列
PFComponentException
public void execute(java.lang.String script) throws PFComponentException
script
- 文字列
PFComponentException
public java.lang.Object evaluate() throws PFComponentException
PFComponentException
public void execute() throws PFComponentException
PFComponentException
public void clear() throws PFComponentException
PFComponentException
public void setVariable(java.lang.String name, java.lang.Object obj) throws PFComponentException
name
- 変数名obj
- 値
PFComponentException
public java.lang.Object getVariable(java.lang.String name) throws PFComponentException
name
- 変数名
PFComponentException
public void setVariableByExecute(java.lang.String name, java.lang.String value) throws PFComponentException
name
- 変数名value
- 値を表す文字列
PFComponentException
- 実行エラーpublic java.lang.Object evaluateRuleTable(PFObjectTable table, boolean all) throws PFComponentException
table
- ルールテーブルall
- 全ルールを実行する場合true
PFComponentException
- 実行エラーpublic java.lang.String getLanguage()
public void setLanguage(java.lang.String name)
name
- 言語名public void setStoredScript(java.lang.String script)
script
- 文字列public java.lang.String getStoredScript()
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |