パッケージ 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)` | コンストラクタです。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `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名
      戻り値:
        接続文字列
      このメソッドは、nullを返しません

    - #### getDesktop

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

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

    - #### close

          public void close()

      プロセスを終了します。 また、同時に環境設定用のファイルも削除します。
      変更履歴:
        6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)

    - #### getProcParam

          protected String getProcParam​(String key)

      Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。
      パラメータ:
        `key` - Pipe名
      戻り値:
        プロセス生成パラメーター
      このメソッドは、nullを返しません

    - #### getDispatcher

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

      OpenOfficeのローカルコンポーネントコンテキストを返します。
      戻り値:
        ローカルコンポーネントコンテキスト
      変更履歴:
        5.1.7.0 (2010/06/01) 新規作成, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)

    - #### getTempPath

          public String getTempPath()

      このプロセスに対して固有に使用できる一時ファイルのパスを指定します。
      戻り値:
        一時ファイルのパス
      変更履歴:
        5.1.7.0 (2010/06/01) 新規作成
      このメソッドは、nullを返しません