openGionopenGion
5.2.0.0

org.opengion.hayabusa.report2
クラス SOfficeProcess

java.lang.Object
  上位を拡張 org.opengion.hayabusa.report2.SOfficeProcess
直系の既知のサブクラス:
SOfficeProcessTcp

public 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 SOfficeProcess(java.lang.String id)
          コンストラクタです。
 
メソッドの概要
protected  void bootstrap()
          OOoへの接続を行います。
 void close()
          プロセスを終了します。
protected  java.lang.String getConnParam(java.lang.String key)
          Pipe名をキーにOpenOfficeのプロセスに接続するための文字列を生成します。
 com.sun.star.frame.XDesktop getDesktop()
          デスクトップインスタンスを返します
 com.sun.star.frame.XDispatchHelper getDispatcher()
          OpenOfficeのローカルコンポーネントコンテキストを返します。
protected  java.lang.String getProcParam(java.lang.String key)
          Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。
 java.lang.String getTempPath()
          このプロセスに対して固有に使用できる一時ファイルのパスを指定します。
 
クラス 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対応(パイプ名に":"が含まれていると接続できない)
5.1.7.0 (2010/06/01) TCP接続対応

getConnParam

protected java.lang.String getConnParam(java.lang.String key)
Pipe名をキーにOpenOfficeのプロセスに接続するための文字列を生成します。

パラメータ:
key - Pipe名
戻り値:
接続文字列

getDesktop

public com.sun.star.frame.XDesktop getDesktop()
デスクトップインスタンスを返します

戻り値:
デスクトップインスタンス

close

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


getProcParam

protected java.lang.String getProcParam(java.lang.String key)
Pipe名をキーにOpenOfficeのプロセスを生成するためのパラメーター文字列を生成します。

パラメータ:
key - Pipe名
戻り値:
プロセス生成パラメーター

getDispatcher

public com.sun.star.frame.XDispatchHelper getDispatcher()
OpenOfficeのローカルコンポーネントコンテキストを返します。

戻り値:
ローカルコンポーネントコンテキスト
変更履歴:
5.1.7.0 (2010/06/01) 新規作成

getTempPath

public java.lang.String getTempPath()
このプロセスに対して固有に使用できる一時ファイルのパスを指定します。

戻り値:
一時ファイルのパス
変更履歴:
5.1.7.0 (2010/06/01) 新規作成

openGion 5.2.0.0

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