Class LaunchExternalApp

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

public class LaunchExternalApp extends BaseObjectAdapter implements MetaData
外部アプリケーションを起動するListenerです。
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    自身の複製を返します。
    MetaDataを実装クラスでも必ずしも複製可能である必要はありません。
    (CloneNotSupportedExceptionを投げても構いません。)
    コマンドの配列(Runtime#execの引数となる)を返します。
    外部アプリケーションの実行ディレクトリを返します。
    protected static File
    Deprecated.
    別のメソッドに置き換えられました
    invalid reference
    #getWorkDir()
    protected static File
    getWorkDir(String workDirPath)
    ワークディレクトリを返します。 ファイルを読み書きする場合は通常はこのディレクトリを指定してください。
    protected String
    loadStringFromFile(String filename, String encoding)
    文字列をgetToolshedDir()のファイルから読み込むための簡易メソッドです。
    void
    menuItemが指定されている場合はダブルクリック時の処理をメニューに追加します。
    void
    ダブルクリック時の処理
    1、preExecuteメソッドを実行
    2、外部アプリケーションを実行
    3、postExecuteメソッドを実行
    という処理が実行されます。
    外部アプリケーションの実行中はデザイナーはロックされます。
    protected void
    外部アプリケーション実行後の処理
    標準ではSaveProperty要素で定義されたプロパティの内容をファイルから設定します。
    必要に応じてオーバーライドします。
    protected void
    外部アプリケーション実行前の処理
    標準ではSaveProperty要素で定義されたプロパティの内容をファイルに保存します。
    必要に応じてオーバーライドします。
    protected void
    saveStringToFile(String filename, String str, String encoding)
    文字列をgetToolshedDir()のファイルに保存するための簡易メソッドです。
    void
    コマンドの配列を設定します。
    void
    外部アプリケーションの実行ディレクトリを設定します。
    void
    要素から定義内容を読み取ります。
    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 Details

    • LaunchExternalApp

      public LaunchExternalApp()
  • Method Details

    • getToolshedDir

      @Deprecated protected static File getToolshedDir()
      Deprecated.
      別のメソッドに置き換えられました
      invalid reference
      #getWorkDir()
      ワークディレクトリを返します。 ファイルを読み書きする場合は通常はこのディレクトリを指定してください。
    • 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
      Throws:
      CloneNotSupportedException
    • onDoubleClick

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

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

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

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

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

      protected static File getWorkDir(String workDirPath)
      ワークディレクトリを返します。 ファイルを読み書きする場合は通常はこのディレクトリを指定してください。
      Parameters:
      workDirPath - 各アプリで取得したワークディレクトリパス
      Returns:
      各アプリで取得したワークディレクトリパスを引数に受け、ワークディレクトリとして返します。
      引数にnullを指定した場合はデフォルトのワークディレクトリを返します。
      引数にファイルを指定された場合は親ディレクトリを返します。