クラス SOfficeProcess
java.lang.Object
org.opengion.hayabusa.report2.SOfficeProcess
- 直系の既知のサブクラス:
SOfficeProcessTcp
OpenOfficeのプロセスを表すクラスです。
bootstrap()メソッドが呼ばれたタイミングでsoffice.binのプロセスを生成します。
soffice.binのプロセスを引数なしで実装した場合、通常は各ユーザーで1プロセスしか
生成されないため、-env:UserInstallationの引数を指定することで、仮想的に別ユーザー
として起動しています。
この"ユーザー"を表すキーは、コンストラクタの引数のidです。
また、この仮想ユーザーで起動した場合、初回起動時にユーザー登録を促す画面が立ち上がります。
これを回避するため、デフォルトの環境ファイルをプロセス生成前にコピーすることで、認証済みの
状態で立ち上がるようにしています。
起動したプロセスとの通知は名前付きパイプで行われます。パイプ名は、"env"+コンストラクタのidです。
プロセス起動と、名前付きパイプでの接続は非同期で行われます。
プロセス起動後、60秒経過しても接続できない場合は、BootstrapExceptionが発生します。
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールド -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected void
OOoへの接続を行います。void
close()
プロセスを終了します。 また、同時に環境設定用のファイルも削除します。protected String
getConnParam
(String key) Pipe名をキーにOpenOfficeのプロセスに接続するための文字列を生成します。com.sun.star.frame.XDesktop
デスクトップインスタンスを返します。com.sun.star.frame.XDispatchHelper
OpenOfficeのローカルコンポーネントコンテキストを返します。protected String
getProcParam
(String key) Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。このプロセスに対して固有に使用できる一時ファイルのパスを指定します。
-
フィールド詳細
-
OFFICE_HOME
OOoのインストールディレクトリ -
ENV_DIR
環境設定のパス
-
-
コンストラクタの詳細
-
SOfficeProcess
コンストラクタです。- パラメータ:
id
- プロセスID- 変更履歴:
- 4.3.0.0 (2008/07/15) 設定ファイルを各コンテキストごとに置くように変更
-
-
メソッドの詳細
-
bootstrap
OOoへの接続を行います。- 変更履歴:
- 5.0.0.0 (2009/08/03) Linux対応(パイプ名に":"が含まれていると接続できない), 5.1.7.0 (2010/06/01) TCP接続対応, 8.5.4.2 (2024/01/12) PMD 7.0.0 ExceptionAsFlowControl 対応
-
getConnParam
Pipe名をキーにOpenOfficeのプロセスに接続するための文字列を生成します。- パラメータ:
key
- Pipe名- 戻り値:
- 接続文字列
- このメソッドは、nullを返しません
-
getDesktop
デスクトップインスタンスを返します。- 戻り値:
- デスクトップインスタンス
-
close
プロセスを終了します。 また、同時に環境設定用のファイルも削除します。- 変更履歴:
- 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
getProcParam
Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。- パラメータ:
key
- Pipe名- 戻り値:
- プロセス生成パラメーター
- このメソッドは、nullを返しません
-
getDispatcher
OpenOfficeのローカルコンポーネントコンテキストを返します。- 戻り値:
- ローカルコンポーネントコンテキスト
- 変更履歴:
- 5.1.7.0 (2010/06/01) 新規作成, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
getTempPath
このプロセスに対して固有に使用できる一時ファイルのパスを指定します。- 戻り値:
- 一時ファイルのパス
- 変更履歴:
- 5.1.7.0 (2010/06/01) 新規作成
- このメソッドは、nullを返しません
-