org.opengion.hayabusa.report2
クラス SOfficeProcess
java.lang.Object
org.opengion.hayabusa.report2.SOfficeProcess
public final class SOfficeProcess
- extends java.lang.Object
OpenOfficeのプロセスを表すクラスです。
bootstrap()メソッドが呼ばれたタイミングでsoffice.binのプロセスを生成します。
soffice.binのプロセスを引数なしで実装した場合、通常は各ユーザーで1プロセスしか
生成されないため、-env:UserInstallationの引数を指定することで、仮想的に別ユーザー
として起動しています。
この"ユーザー"を表すキーは、コンストラクタの引数のidです。
また、この仮想ユーザーで起動した場合、初回起動時にユーザー登録を促す画面が立ち上がります。
これを回避するため、デフォルトの環境ファイルをプロセス生成前にコピーすることで、認証済みの
状態で立ち上がるようにしています。
起動したプロセスとの通知は名前付きパイプで行われます。パイプ名は、"env"+コンストラクタのidです。
プロセス起動と、名前付きパイプでの接続は非同期で行われます。
プロセス起動後、60秒経過しても接続できない場合は、BootstrapExceptionが発生します。
- バージョン
- 4.0
- 作成者
- Hiroki Nakamura
- 導入されたバージョン:
- JDK5.0,
フィールドの概要 |
static java.lang.String |
ENV_DIR
環境設定のパス |
static java.lang.String |
OFFICE_HOME
OOoのインストールディレクトリ |
メソッドの概要 |
protected void |
bootstrap()
OOoへの接続を行います。 |
void |
close()
プロセスを終了します。 |
com.sun.star.frame.XDesktop |
getDesktop()
デスクトップインスタンスを返します |
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OFFICE_HOME
public static final java.lang.String OFFICE_HOME
- OOoのインストールディレクトリ
ENV_DIR
public static final java.lang.String ENV_DIR
- 環境設定のパス
SOfficeProcess
protected SOfficeProcess(java.lang.String id)
- パラメータ:
id
- - 変更履歴:
4.3.0.0 (2008/07/15) 設定ファイルを各コンテキストごとに置くように変更 |
bootstrap
protected void bootstrap()
- OOoへの接続を行います。
- 例外:
java.lang.Exception
- 変更履歴:
5.0.0.0 (2009/08/03) Linux対応(パイプ名に":"が含まれていると接続できない) |
getDesktop
public com.sun.star.frame.XDesktop getDesktop()
- デスクトップインスタンスを返します
- 戻り値:
- デスクトップインスタンス
close
public void close()
- プロセスを終了します。
また、同時に環境設定用のファイルも削除します。
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.