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

## クラス ExecThread

- java.lang.Object
- - java.lang.Thread
  - - org.opengion.hayabusa.report2.ExecThread

- すべての実装されたインタフェース:
    `java.lang.Runnable`

      public class ExecThread
      extends java.lang.Thread

  帳票要求スレッドの本体です。 外部からスタックされたキューを先入れ先出しの順番に処理します。 あるキューに対してエラーが発生すると、システムリソースのRETRY_COUNTで設定された回数再処理を試みます。 この回数分エラーが発生した場合は、そのキューのみがアプリエラーとなります。 このスレッドは一度生成されると、外部から明示的に終了の要求を起こさない限り生存し続けます。 終了するには、finish()メソッドを呼び出します。 このメソッドが呼ばれると、内部でスタックしているキューは全てクリアされるため、その時点で 処理されているキューの処理が完了した時点で、スレッドが終了します。
  機能分類
    帳票システム
  バージョン
    4.0
  作成者
    Hiroki.Nakamura
  導入されたバージョン:
    JDK1.6

- - ### ネストされたクラスの概要

    - ### クラスから継承されたネストされたクラス/インタフェース java.lang.Thread

      `java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler`

  - ### フィールドの概要

    - ### クラスから継承されたフィールド java.lang.Thread

      `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `ExecThread​(java.lang.String id)` | コンストラクタ OOoへの接続を生成します。
    `ExecThread​(java.lang.String id, boolean debugFlag)` | コンストラクタ OOoへの接続を生成します。

  - ### メソッドの概要

    すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `finish()` | スレッドを終了させるためのキューを追加します。
    `void` | `finishAfterExec()` | スレッドを終了させるためのキューを追加します。
    `void` | `run()` | スレッド本体 スタックされたキューを順番に取り出し処理を行います。
    `boolean` | `stackQueue​(ExecQueue queue)` | キューをスタックします。
    `void` | `start()` | このスレッドの実行を開始します。
    `static ExecThread` | `startExecThread​(java.lang.String id, boolean debugFlag)` | Map#compute で対応 出来るように、start() 実行後の 新規に作成した ExecThread を返します。
    `java.lang.String` | `toString()` | このクラスの文字列表現を返します。

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

      `activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, suspend, yield`

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

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

- - ### コンストラクタの詳細

    - #### ExecThread

          public ExecThread​(java.lang.String id)

      コンストラクタ OOoへの接続を生成します。
      パラメータ:
        `id` - スレッドID

    - #### ExecThread

          public ExecThread​(java.lang.String id,
                            boolean debugFlag)

      コンストラクタ OOoへの接続を生成します。
      パラメータ:
        `id` - スレッドID
        `debugFlag` - デバッグフラグ[true/false]
      変更履歴:
        4.3.0.0 (2008/07/15) デバッグフラグを追加します。, 6.4.1.1 (2016/01/16) PMD refactoring. It is a good practice to call super() in a constructor

  - ### メソッドの詳細

    - #### startExecThread

          public static final ExecThread startExecThread​(java.lang.String id,
                                                         boolean debugFlag)

      Map#compute で対応 出来るように、start() 実行後の 新規に作成した ExecThread を返します。
      パラメータ:
        `id` - スレッドID
        `debugFlag` - デバッグフラグ[true/false]
      戻り値:
        startメソッド実行後の新規に作成したExecThreadオブジェクト
      変更履歴:
        6.4.3.3 (2016/03/04) Map#compute で対応する。

    - #### stackQueue

          public boolean stackQueue​(ExecQueue queue)

      キューをスタックします。
      パラメータ:
        `queue` - ExecQueueオブジェクト
      戻り値:
        スタックが受け付けられたかどうか
      変更履歴:
        4.3.0.0 (2008/07/15) debug追加

    - #### start

          public void start()

      このスレッドの実行を開始します。Java仮想マシンは、このスレッドのrunメソッドを呼び出します。 ここでは、実行されたときのメッセージを表示するために、Override しています。
      オーバーライド:
        `start` クラス内 `java.lang.Thread`
      変更履歴:
        6.4.3.3 (2016/03/04) 処理メッセージを表示します。

    - #### run

          public void run()

      スレッド本体 スタックされたキューを順番に取り出し処理を行います。
      定義:
        `run` インタフェース内 `java.lang.Runnable`
      オーバーライド:
        `run` クラス内 `java.lang.Thread`

    - #### finish

          public void finish()

      スレッドを終了させるためのキューを追加します。 このメソッドが呼ばれると、内部にスタックしているキューは全てクリアされます。
      変更履歴:
        6.4.3.3 (2016/03/04) 処理メッセージを表示します。

    - #### finishAfterExec

          public void finishAfterExec()

      スレッドを終了させるためのキューを追加します。 このメソッドでは、既にスタックされているキューはクリアされず、全て処理された後で、 スレッドを終了します。
      変更履歴:
        5.1.6.0 (2010/05/01) 新規作成

    - #### toString

          public java.lang.String toString()

      このクラスの文字列表現を返します。
      オーバーライド:
        `toString` クラス内 `java.lang.Thread`
      戻り値:
        文字列表現
      変更履歴:
        4.3.0.0 (2008/07/15) debugを追加
      このメソッドは、nullを返しません