com.infoteria.asteria.flowbuilder2.plugin
Class LaunchExternalApp

java.lang.Object
  |
  +--com.infoteria.asteria.flowbuilder2.event.BaseObjectAdapter
        |
        +--com.infoteria.asteria.flowbuilder2.plugin.LaunchExternalApp
All Implemented Interfaces:
BaseObjectListener, EventListener, MetaData

public class LaunchExternalApp
extends BaseObjectAdapter
implements MetaData

外部アプリケーションを起動するListenerです。


Constructor Summary
LaunchExternalApp()
           
 
Method Summary
 Object clone()
           
 String[] getCommandArray()
          コマンドの配列(Runtime#execの引数となる)を返します。
 File getExecuteDir()
          外部アプリケーションの実行ディレクトリを返します。
protected static File getToolshedDir()
          ワークディレクトリを返します。 ファイルを読み書きする場合は通常はこのディレクトリを指定してください。
protected  String loadStringFromFile(String filename, String encoding)
          文字列をgetToolshedDir()のファイルから読み込むための簡易メソッドです。
 void menuPopup(BaseObjectMenuEvent event)
          menuItemが指定されている場合はダブルクリック時の処理をメニューに追加します。
 void onDoubleClick(BaseObjectUndoableEvent e)
          ダブルクリック時の処理
1、preExecuteメソッドを実行
2、外部アプリケーションを実行
3、postExecuteメソッドを実行
という処理が実行されます。
外部アプリケーションの実行中はデザイナーはロックされます。
protected  void postExecute(BaseObjectUndoableEvent e, int exitValue)
          外部アプリケーション実行後の処理
標準ではSaveProperty要素で定義されたプロパティの内容をファイルから設定します。
必要に応じてオーバーライドします。
protected  void preExecute(BaseObjectUndoableEvent e)
          外部アプリケーション実行前の処理
標準ではSaveProperty要素で定義されたプロパティの内容をファイルに保存します。
必要に応じてオーバーライドします。
protected  void saveStringToFile(String filename, String str, String encoding)
          文字列をgetToolshedDir()のファイルに保存するための簡易メソッドです。
 void setCommandArray(String[] s)
          コマンドの配列を設定します。
 void setExecuteDir(File f)
          外部アプリケーションの実行ディレクトリを設定します。
 void setup(Element el)
          要素から定義内容を読み取ります。
command属性 - コマンド文字列
appName属性 - アプリケーション名(必須)
menuItem属性 - メニューに表示するキャプションを指定します。
execDir属性 - 外部アプリケーションの実行ディレクトリを指定します。
Toolshedディレクトリを指定する場合は「toolshedDir」、
デザイナーのインストールディレクトリを指定する場合は「installDir」を指定します。
それ以外の値が指定された場合はnew File(execDir)が実行ディレクトリとなります。 SaveProperty要素 - プロパティ値をファイルに保存する場合に保存するプロパティの数だけ定義します。
SaveProperty/@name - 保存するファイル名を指定します。(必須)
SaveProperty/@filename - 保存するファイル名を指定します。(必須)
SaveProperty/@encoding - 保存するファイルのエンコーディング。
 
Methods inherited from class com.infoteria.asteria.flowbuilder2.event.BaseObjectAdapter
added, cloned, created, destroyed, extendedSearch, getDoubleClickAction, getDoubleClickAction, linked, loaded, loading, removed, unlinked
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LaunchExternalApp

public LaunchExternalApp()
Method Detail

getToolshedDir

protected static File getToolshedDir()
ワークディレクトリを返します。 ファイルを読み書きする場合は通常はこのディレクトリを指定してください。

setup

public void setup(Element el)
要素から定義内容を読み取ります。
command属性 - コマンド文字列
appName属性 - アプリケーション名(必須)
menuItem属性 - メニューに表示するキャプションを指定します。
execDir属性 - 外部アプリケーションの実行ディレクトリを指定します。
Toolshedディレクトリを指定する場合は「toolshedDir」、
デザイナーのインストールディレクトリを指定する場合は「installDir」を指定します。
それ以外の値が指定された場合はnew File(execDir)が実行ディレクトリとなります。 SaveProperty要素 - プロパティ値をファイルに保存する場合に保存するプロパティの数だけ定義します。
SaveProperty/@name - 保存するファイル名を指定します。(必須)
SaveProperty/@filename - 保存するファイル名を指定します。(必須)
SaveProperty/@encoding - 保存するファイルのエンコーディング。
Specified by:
setup in interface MetaData

getCommandArray

public String[] getCommandArray()
コマンドの配列(Runtime#execの引数となる)を返します。

setCommandArray

public void setCommandArray(String[] s)
コマンドの配列を設定します。

getExecuteDir

public File getExecuteDir()
外部アプリケーションの実行ディレクトリを返します。

setExecuteDir

public void setExecuteDir(File f)
外部アプリケーションの実行ディレクトリを設定します。

clone

public Object clone()
             throws CloneNotSupportedException
Description copied from interface: MetaData
自身の複製を返します。
MetaDataを実装クラスでも必ずしも複製可能である必要はありません。
(CloneNotSupportedExceptionを投げても構いません。)
Specified by:
clone in interface MetaData
Overrides:
clone in class Object

menuPopup

public void menuPopup(BaseObjectMenuEvent event)
menuItemが指定されている場合はダブルクリック時の処理をメニューに追加します。
Overrides:
menuPopup in class BaseObjectAdapter

onDoubleClick

public void onDoubleClick(BaseObjectUndoableEvent e)
ダブルクリック時の処理
1、preExecuteメソッドを実行
2、外部アプリケーションを実行
3、postExecuteメソッドを実行
という処理が実行されます。
外部アプリケーションの実行中はデザイナーはロックされます。
Overrides:
onDoubleClick in class BaseObjectAdapter

preExecute

protected void preExecute(BaseObjectUndoableEvent e)
                   throws Exception
外部アプリケーション実行前の処理
標準ではSaveProperty要素で定義されたプロパティの内容をファイルに保存します。
必要に応じてオーバーライドします。

postExecute

protected void postExecute(BaseObjectUndoableEvent e,
                           int exitValue)
                    throws Exception
外部アプリケーション実行後の処理
標準ではSaveProperty要素で定義されたプロパティの内容をファイルから設定します。
必要に応じてオーバーライドします。

saveStringToFile

protected void saveStringToFile(String filename,
                                String str,
                                String encoding)
                         throws IOException
文字列をgetToolshedDir()のファイルに保存するための簡易メソッドです。
Parameters:
filename - ファイル名
str - 文字列

loadStringFromFile

protected String loadStringFromFile(String filename,
                                    String encoding)
                             throws IOException
文字列をgetToolshedDir()のファイルから読み込むための簡易メソッドです。
Parameters:
filename - ファイル名
Returns:
ファイルの内容