パッケージ org.opengion.hayabusa.report2

# クラス 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が発生します｡

導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final String`
  `ENV_DIR`
  環境設定のﾊﾟｽ
  `static final String`
  `OFFICE_HOME`
  OOoのｲﾝｽﾄｰﾙﾃﾞｨﾚｸﾄﾘ

- ## コンストラクタの概要

  コンストラクタ
  修飾子
  コンストラクタ
  説明
  `protected`
  `SOfficeProcess(String id)`
  ｺﾝｽﾄﾗｸﾀです｡

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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()`
  このﾌﾟﾛｾｽに対して固有に使用できる一時ﾌｧｲﾙのﾊﾟｽを指定します｡

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## フィールド詳細

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