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

# クラス MainProcessTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.MainProcessTag

すべての実装されたインタフェース:
  `BodyTag`, `IterationTag`, `JspTag`, `Tag`, `TryCatchFinally`, `Serializable`

public class MainProcessTag extends CommonTagSupport
HybsProcess を継承した､ParamProcess,FirstProcess,ChainProcess の実装ｸﾗｽを 実行する MainProcess を起動するｸﾗｽです｡ LoggerProcess は､最初に定義するｸﾗｽで､画面ﾛｸﾞ､ﾌｧｲﾙﾛｸﾞ､を定義します｡ また､ｴﾗｰ発生時に､指定のﾒｰﾙｱﾄﾞﾚｽにﾒｰﾙ送信できます｡ Process_Logger は､なくても構いませんが､指定する場合は､最も最初に指定しなければ なりません｡ ParamProcess は､一つだけ定義できるｸﾗｽで､ﾃﾞｰﾀﾍﾞｰｽ接続情報を定義します｡ (ﾃﾞｰﾀﾍﾞｰｽ接続しなければ)なくても構いません｡ FirstProcess は､処理を実行する最初のｸﾗｽで､このｸﾗｽでﾃﾞｰﾀが作成されます｡ ﾙｰﾌﾟ処理は､この FirstProcess で順次作成された LineModel ｵﾌﾞｼﾞｪｸﾄを １行づつ下位の ChainProcess に流していきます｡ ChainProcess は､FirstProcess で作成されたﾃﾞｰﾀを､受け取り､処理します｡ 処理対象から外れる場合は､LineModel を null に設定する為､下流には流れません｡ ﾌｨﾙﾀﾁｪｲﾝの様に使用します｡なくても構いませんし､複数存在しても構いません｡

関連項目:
  - 直列化された形式
機能分類
  画面表示
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:mainProcess useJspLog ="[true/false]" useDisplay="[true/false]" > <og:process processID="ZZZ" > <og:param key="AAA" value="111" /> </og:process > </og:mainProcess > ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し､{@XXXX} を解析します) ●Tag定義： <og:mainProcess command 【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW) useJspLog 【TAG】ﾛｸﾞ出力先に､JspWriter(つまり､HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false) useDisplay 【TAG】画面表示先に､JspWriter(つまり､HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false) useThread 【TAG】独立した別ｽﾚｯﾄﾞで実行するかどうか[true/false]を指定します(初期値:false) delayTime 【TAG】要求に対して､処理の実行開始を遅延させる時間を指定します(初期値:0秒) caseKey 【TAG】このﾀｸﾞ自体を利用するかどうかの条件ｷｰを指定します(初期値:null) caseVal 【TAG】このﾀｸﾞ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が､null/ｾﾞﾛ文字列 でない場合(Not Null=NN)は､このﾀｸﾞは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が､null/ｾﾞﾛ文字列 の場合は､このﾀｸﾞは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が､true/TRUE文字列の場合は､このﾀｸﾞは使用されます(初期値:判定しない) debug 【TAG】ﾃﾞﾊﾞｯｸﾞ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:mainProcess> ●使用例 <og:mainProcess useJspLog="true" > <og:process processID="DBReader" > <og:param key="dbid" value="FROM" /> <og:param key="sql" value="select * from GE02" /> </og:process > <og:process processID="DBWriter" > <og:param key="dbid" value="TO" /> <og:param key="table" value="GE02" /> </og:process > </og:mainProcess >
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final String`
  `CMD_NEW`
  command 引数に渡す事の出来る ｺﾏﾝﾄﾞ 新規 "NEW"

  ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

  `BR, BUFFER_MIDDLE, CR`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport

  `bodyContent`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport

  `id, pageContext`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag

  `EVAL_BODY_AGAIN`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

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

  コンストラクタ
  コンストラクタ
  説明
  `MainProcessTag()`
  ﾃﾞﾌｫﾙﾄｺﾝｽﾄﾗｸﾀｰ

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `protected void`
  `addProcess(HybsProcess process)`
  親ｸﾗｽに登録するﾌﾟﾛｾｽをｾｯﾄします｡
  `int`
  `doEndTag()`
  Taglibの終了ﾀｸﾞが見つかったときに処理する doEndTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
  `int`
  `doStartTag()`
  Taglibの開始ﾀｸﾞが見つかったときに処理する doStartTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
  `protected void`
  `release2()`
  ﾀｸﾞﾘﾌﾞｵﾌﾞｼﾞｪｸﾄをﾘﾘｰｽします｡ ｷｬｯｼｭされて再利用されるので､ﾌｨｰﾙﾄﾞの初期設定を行います｡
  `void`
  `setCommand(String cmd)`
  【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)｡
  `void`
  `setDelayTime(String time)`
  【TAG】要求に対して､処理の実行開始を遅延させる時間を指定します(初期値:0秒)｡
  `void`
  `setUseDisplay(String flag)`
  【TAG】画面表示先に､JspWriter(つまり､HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)｡
  `void`
  `setUseJspLog(String flag)`
  【TAG】ﾛｸﾞ出力先に､JspWriter(つまり､HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)｡
  `void`
  `setUseThread(String flag)`
  【TAG】独立した別ｽﾚｯﾄﾞで実行するかどうか[true/false]を指定します(初期値:false)｡
  `String`
  `toString()`
  このｵﾌﾞｼﾞｪｸﾄの文字列表現を返します｡ 基本的にﾃﾞﾊﾞｯｸﾞ目的に使用します｡

  ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

  `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doAfterBody, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport

  `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.TagSupport

  `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

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

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

  ### インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag

  `getParent, setPageContext, setParent`

- ## フィールド詳細

  - ### CMD_NEW

    public static final String CMD_NEW
    command 引数に渡す事の出来る ｺﾏﾝﾄﾞ 新規 "NEW"
    関連項目:
      - 定数フィールド値

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

  - ### MainProcessTag

    public MainProcessTag()
    ﾃﾞﾌｫﾙﾄｺﾝｽﾄﾗｸﾀｰ
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### doStartTag

    public int doStartTag()
    Taglibの開始ﾀｸﾞが見つかったときに処理する doStartTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
    定義:
      `doStartTag` インタフェース内 `Tag`
    オーバーライド:
      `doStartTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示
    変更履歴:
      6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応

  - ### doEndTag

    public int doEndTag()
    Taglibの終了ﾀｸﾞが見つかったときに処理する doEndTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
    定義:
      `doEndTag` インタフェース内 `Tag`
    オーバーライド:
      `doEndTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示
    変更履歴:
      6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 8.1.0.3 (2022/01/21) ｽﾚｯﾄﾞに名前を付けておきます｡

  - ### release2

    protected void release2()
    ﾀｸﾞﾘﾌﾞｵﾌﾞｼﾞｪｸﾄをﾘﾘｰｽします｡ ｷｬｯｼｭされて再利用されるので､ﾌｨｰﾙﾄﾞの初期設定を行います｡
    オーバーライド:
      `release2` クラス内 `CommonTagSupport`

  - ### addProcess

    protected void addProcess(HybsProcess process)
    親ｸﾗｽに登録するﾌﾟﾛｾｽをｾｯﾄします｡
    パラメータ:
      `process` - 登録するﾌﾟﾛｾｽ

  - ### setCommand

    public void setCommand(String cmd)
    【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)｡
    パラメータ:
      `cmd` - ｺﾏﾝﾄﾞ
    関連項目:
      - ｺﾏﾝﾄﾞ定数
    説明:
      この処理は､command="NEW" の場合のみ実行されます｡RENEW時にはなにも行いません｡ 初期値は､NEW です｡

  - ### setUseJspLog

    public void setUseJspLog(String flag)
    【TAG】ﾛｸﾞ出力先に､JspWriter(つまり､HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)｡
    パラメータ:
      `flag` - JspWriter出力 [true:行う/false:行わない]
    説明:
      ﾛｸﾞﾌｧｲﾙは､processﾀｸﾞで､Logger を指定する場合に､ﾊﾟﾗﾒｰﾀ logFile にて ﾌｧｲﾙ名/System.out/System.err 形式で指定します｡ この場合､JSP 特有のWriterである､JspWriter(つまり､HTML上の返り値)は指定 できません｡ ここでは､特別に ﾛｸﾞの出力先を､JspWriter に切り替えるかどうかを指示 できます｡ true を指定すると､画面出力(JspWriter) に切り替わります｡ 初期値は､false です｡

  - ### setUseDisplay

    public void setUseDisplay(String flag)
    【TAG】画面表示先に､JspWriter(つまり､HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)｡
    パラメータ:
      `flag` - JspWriter出力 [true:行う/false:行わない]
    説明:
      画面表示は､processﾀｸﾞで､Logger を指定する場合に､ﾊﾟﾗﾒｰﾀ dispFile にて ﾌｧｲﾙ名/System.out/System.err 形式で指定します｡ この場合､JSP 特有のWriterである､JspWriter(つまり､HTML上の返り値)は指定 できません｡ ここでは､特別に ﾛｸﾞの出力先を､JspWriter に切り替えるかどうかを指示 できます｡ true を指定すると､画面出力(JspWriter) に切り替わります｡ 初期値は､false です｡

  - ### setUseThread

    public void setUseThread(String flag)
    【TAG】独立した別ｽﾚｯﾄﾞで実行するかどうか[true/false]を指定します(初期値:false)｡
    パラメータ:
      `flag` - 独立ｽﾚｯﾄﾞ実行 [true:ｽﾚｯﾄﾞを使う/false:順次処理で行う]
    説明:
      MainProcess 処理を実行する場合､比較的実行時間が長いｹｰｽが考えられます｡ そこで､実行時に､ｽﾚｯﾄﾞを生成して処理を行えば､非同期に処理を行う 事が可能です｡ ただし､その場合の出力については､JspWriter 等で返すことは出来ません｡ 起動そのものを､URL指定の http で呼び出すのであれば､返り値を無視する ことで､ｱﾌﾟﾘｻｰﾊﾞｰ側のｽﾚｯﾄﾞで処理できます｡ 初期値は､順次処理(false)です｡

  - ### setDelayTime

    public void setDelayTime(String time)
    【TAG】要求に対して､処理の実行開始を遅延させる時間を指定します(初期値:0秒)｡
    パラメータ:
      `time` - 処理開始する遅延時間(秒)
    説明:
      ﾌﾟﾛｾｽ起動が､同時に大量に発生した場合に､すべての処理を行うのではなく､ ある程度待って､複数の処理を１回だけで済ますことが出来る場合があります｡ 例えば､更新ﾃﾞｰﾀ毎にﾄﾘｶﾞが起動されるｹｰｽなどです｡ それらの開始時刻を遅らせる事で､同時発生のﾄﾘｶﾞを１回のﾌﾟﾛｾｽ処理で 実行すれば､処理速度が向上します｡ ここでは､処理が開始されると､ﾀｲﾏｰをｽﾀｰﾄさせ､指定時間経過後に､ 処理を開始するようにしますが､その間､受け取ったﾘｸｴｽﾄは､すべて 処理せず破棄されます｡ ここでは､ﾘｸｴｽﾄのﾀｲﾐﾝｸﾞと処理の開始ﾀｲﾐﾝｸﾞは厳密に制御して いませんので､処理が重複する可能性があります｡よって､ｱﾌﾟﾘｹｰｼｮﾝ側で ﾘｸｴｽﾄが複数処理されても問題ないように､制限をかける必要があります｡ 遅延は､ﾘｸｴｽﾄ引数単位に制御されます｡

  - ### toString

    public String toString()
    このｵﾌﾞｼﾞｪｸﾄの文字列表現を返します｡ 基本的にﾃﾞﾊﾞｯｸﾞ目的に使用します｡
    オーバーライド:
      `toString` クラス内 `CommonTagSupport`
    戻り値:
      このｸﾗｽの文字列表現
    このﾒｿｯﾄﾞは、nullを返しません