クラス SOfficeProcessTcp

java.lang.Object
org.opengion.hayabusa.report2.SOfficeProcess
org.opengion.hayabusa.report2.SOfficeProcessTcp

public final class SOfficeProcessTcp extends SOfficeProcess
OpenOfficeのプロセスを表すクラスです。 このクラスでは、TCPによりプロセスに接続を行います。 基本的には、パイプ名による接続(SOfficeProcess)を利用すべきですが、 x64環境で、64Bit版のJavaを起動した場合、パイプ接続では、UnsatisfiedLinkErrorが発生します。 このような場合では、TCP接続を利用することで、上記エラーを回避することができます。
導入されたバージョン:
JDK5.0,
  • コンストラクタの詳細

    • SOfficeProcessTcp

      protected SOfficeProcessTcp(String id, int initPort)
      コンストラクタです。
      パラメータ:
      id - プロセスID
      initPort - 初期ポート
  • メソッドの詳細

    • getConnParam

      protected String getConnParam(String key)
      Pipe名をキーにOpenOfficeのプロセスに接続するための文字列を生成します。 ※TCP接続の場合、キーのPipe名は無視され、内部的に管理されるポート番号一覧より 接続ポートを取得します。
      オーバーライド:
      getConnParam クラス内 SOfficeProcess
      パラメータ:
      key - Pipe名(無視されます)
      戻り値:
      接続文字列
      このメソッドは、nullを返しません
    • getProcParam

      protected String getProcParam(String key)
      Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。 ※TCP接続の場合、キーのPipe名は無視され、内部的に管理されるポート番号一覧より 接続ポートを取得します。
      オーバーライド:
      getProcParam クラス内 SOfficeProcess
      パラメータ:
      key - Pipe名(無視されます)
      戻り値:
      プロセス生成パラメーター
      このメソッドは、nullを返しません
    • close

      public void close()
      プロセスを終了します。 また、同時に環境設定用のファイルも削除します。 ここでは、プロセスを終了すると同時に、そのプロセスのポート番号を開放し、 次に起動されるプロセスで利用できるようにします。
      オーバーライド:
      close クラス内 SOfficeProcess