クラス 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)
      コンストラクタです。
    • フィールドの詳細

      • 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を返しません