クラス 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()
このプロセスに対して固有に使用できる一時ファイルのパスを指定します。
-
-
-
コンストラクタの詳細
-
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を返しません
-
-