org.opengion.hayabusa.report2

## クラス SOfficeProcess

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

- 直系の既知のサブクラス:
    SOfficeProcessTcp

      public class SOfficeProcess
      extends Object

  OpenOfficeのプロセスを表すクラスです。 bootstrap()メソッドが呼ばれたタイミングでsoffice.binのプロセスを生成します。 soffice.binのプロセスを引数なしで実装した場合、通常は各ユーザーで1プロセスしか 生成されないため、-env:UserInstallationの引数を指定することで、仮想的に別ユーザー として起動しています。 この"ユーザー"を表すキーは、コンストラクタの引数のidです。 また、この仮想ユーザーで起動した場合、初回起動時にユーザー登録を促す画面が立ち上がります。 これを回避するため、デフォルトの環境ファイルをプロセス生成前にコピーすることで、認証済みの 状態で立ち上がるようにしています。 起動したプロセスとの通知は名前付きパイプで行われます。パイプ名は、"env"+コンストラクタのidです。 プロセス起動と、名前付きパイプでの接続は非同期で行われます。 プロセス起動後、60秒経過しても接続できない場合は、BootstrapExceptionが発生します。
  バージョン
    4.0
  作成者
    Hiroki Nakamura
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static String` | `ENV_DIR` 環境設定のパス
    `static String` | `OFFICE_HOME` OOoのインストールディレクトリ

  - ### コンストラクタの概要

    コンストラクタ
    修飾子 | コンストラクタと説明
    --- | ---
    `protected` | `SOfficeProcess(String id)` コンストラクタです。

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected void` | `bootstrap()` OOoへの接続を行います。
    `void` | `close()` プロセスを終了します。
    `protected String` | `getConnParam(String key)` Pipe名をキーにOpenOfficeのプロセスに接続するための文字列を生成します。
    `com.sun.star.frame.XDesktop` | `getDesktop()` デスクトップインスタンスを返します
    `com.sun.star.frame.XDispatchHelper` | `getDispatcher()` OpenOfficeのローカルコンポーネントコンテキストを返します。
    `protected String` | `getProcParam(String key)` Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。
    `String` | `getTempPath()` このプロセスに対して固有に使用できる一時ファイルのパスを指定します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### OFFICE_HOME

          public static final String OFFICE_HOME

      OOoのインストールディレクトリ

    - #### ENV_DIR

          public static final String ENV_DIR

      環境設定のパス

  - ### コンストラクタの詳細

    - #### SOfficeProcess

          protected SOfficeProcess(String id)

      コンストラクタです。
      パラメータ:
        `id` - プロセスID
      変更履歴:

        4.3.0.0 (2008/07/15) 設定ファイルを各コンテキストごとに置くように変更

  - ### メソッドの詳細

    - #### bootstrap

          protected void bootstrap()

      OOoへの接続を行います。
      変更履歴:

        5.0.0.0 (2009/08/03) Linux対応(パイプ名に":"が含まれていると接続できない)
        5.1.7.0 (2010/06/01) TCP接続対応

    - #### getConnParam

          protected String getConnParam(String key)

      Pipe名をキーにOpenOfficeのプロセスに接続するための文字列を生成します。
      パラメータ:
        `key` - Pipe名
      戻り値:
        接続文字列

    - #### getDesktop

          public com.sun.star.frame.XDesktop getDesktop()

      デスクトップインスタンスを返します
      戻り値:
        デスクトップインスタンス

    - #### close

          public void close()

      プロセスを終了します。 また、同時に環境設定用のファイルも削除します。

    - #### getProcParam

          protected String getProcParam(String key)

      Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。
      パラメータ:
        `key` - Pipe名
      戻り値:
        プロセス生成パラメーター

    - #### getDispatcher

          public com.sun.star.frame.XDispatchHelper getDispatcher()

      OpenOfficeのローカルコンポーネントコンテキストを返します。
      戻り値:
        ローカルコンポーネントコンテキスト
      変更履歴:

        5.1.7.0 (2010/06/01) 新規作成

    - #### getTempPath

          public String getTempPath()

      このプロセスに対して固有に使用できる一時ファイルのパスを指定します。
      戻り値:
        一時ファイルのパス
      変更履歴:

        5.1.7.0 (2010/06/01) 新規作成

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.