org.opengion.hayabusa.taglib

## クラス UserInfoTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.servlet.jsp.tagext.BodyTagSupport
    - - org.opengion.hayabusa.taglib.CommonTagSupport
      - - org.opengion.hayabusa.taglib.UserInfoTag

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

      public class UserInfoTag
      extends CommonTagSupport

       ユーザー情報を管理しているタグです。

       設定した値は、{@USER.XXXX} 形式で 取り出すことができます。
       また、command 属性で 直接画面に値を書き出すことも可能です。

       以下の値は UserInfo オブジェクトの項目から取得します。
       ・USER.JNAME     ユーザー日本語名称
       ・USER.ID        ユーザーＩＤ
       ・USER.IDNO      USER.ID が５Byte以上の時のみ先頭１文字を除いたユーザーＩＤ
       ・USER.INFO      ユーザー情報(ユーザーID：日本語名称)
       ・USER.LANG      言語
       ・USER.ROLES     ロール
       ・USER.IPADDRESS IPアドレス
       ・USER.LOGINTIME ログイン時刻

       以下の値はあらかじめ、動的に作成されます。
       ・USER.YMD       ８byte の今日のシステム日付
       ・USER.YMDH    １４byte の今日のシステム日時

       それ以外は、外部より設定された値です。

       ※ このタグは、Transaction タグの対象です。

  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：<og:userInfo command="[…]" key="[…]" value="[…]" />
         ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)

         ●Tag定義：
           <og:userInfo
               command            【TAG】コマンド (SET,GET,NVLGET,REMOVE,SQL)をセットします(初期値:SET)
               key                【TAG】UserInfo に登録するキーをセットします(予約語:JNAME,ID,PASSWD,IDNO,INFO,LANG,ROLE,IPADDRESS,LOGINTIME)
               value              【TAG】UserInfo に登録する値をセットします
               dbid               【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します
               save               【TAG】UserInfo に登録した値を永続化するかを指定します(初期値:false)
               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:userInfo>

         ●使用例
              <og:userInfo
                 command       = "コマンド (SET,GET,NVLGET,REMOVE,SQL)をセットします(初期値:SET)。"
                 key           = "UserInfo に登録するキーをセットします(予約語:JNAME,ID,PASSWD,IDNO,INFO,LANG,ROLE,IPADDRESS,LOGINTIME)。"
                 value         = "UserInfo に登録する値をセットします。"
                 dbid          = "(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。"
              >

  機能分類
    その他部品
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static String` | `CMD_GET` command 引数に渡す事の出来る コマンド ゲット "GET"
    `static String` | `CMD_NVLGET` command 引数に渡す事の出来る コマンド NVLゲット "NVLGET"
    `static String` | `CMD_REMOVE` command 引数に渡す事の出来る コマンド ゲット "REMOVE"
    `static String` | `CMD_SET` command 引数に渡す事の出来る コマンド セット "SET"
    `static String` | `CMD_SQL` command 引数に渡す事の出来る コマンド ゲット "SQL"

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

      `BR, BUFFER_MIDDLE, CR`

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

      `bodyContent`

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

      `id, pageContext`

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

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

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

      `EVAL_BODY_AGAIN`

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

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `UserInfoTag()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected void` | `commandExec(String command)` コマンドを実行します。
    `int` | `doAfterBody()` Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    `int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `int` | `doStartTag()` Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setCommand(String cmd)` 【TAG】コマンド (SET,GET,NVLGET,REMOVE,SQL)をセットします(初期値:SET)。
    `void` | `setDbid(String id)` 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
    `void` | `setKey(String inkey)` 【TAG】UserInfo に登録するキーをセットします(予約語:JNAME,ID,PASSWD,IDNO,INFO,LANG,ROLE,IPADDRESS,LOGINTIME)。
    `void` | `setSave(String sv)` 【TAG】UserInfo に登録した値を永続化するかを指定します(初期値:false)。
    `void` | `setValue(String val)` 【TAG】UserInfo に登録する値をセットします。
    `String` | `toString()` このオブジェクトの文字列表現を返します。

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

      `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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`

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

      `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

    - ### クラスから継承されたメソッド javax.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`

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

      `getParent, setPageContext, setParent`

- - ### フィールドの詳細

    - #### CMD_SET

          public static final String CMD_SET

      command 引数に渡す事の出来る コマンド セット "SET"
      関連項目:
        定数フィールド値

    - #### CMD_GET

          public static final String CMD_GET

      command 引数に渡す事の出来る コマンド ゲット "GET"
      関連項目:
        定数フィールド値

    - #### CMD_REMOVE

          public static final String CMD_REMOVE

      command 引数に渡す事の出来る コマンド ゲット "REMOVE"
      関連項目:
        定数フィールド値

    - #### CMD_SQL

          public static final String CMD_SQL

      command 引数に渡す事の出来る コマンド ゲット "SQL"
      関連項目:
        定数フィールド値

    - #### CMD_NVLGET

          public static final String CMD_NVLGET

      command 引数に渡す事の出来る コマンド NVLゲット "NVLGET"
      関連項目:
        定数フィールド値

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

    - #### UserInfoTag

          public UserInfoTag()

      デフォルトコンストラクター
      変更履歴:

        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`
      戻り値:
        後続処理の指示
      変更履歴:

        5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応

    - #### doAfterBody

          public int doAfterBody()

      Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
      定義:
        `doAfterBody` インタフェース内 `IterationTag`
      オーバーライド:
        `doAfterBody` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示(SKIP_BODY)
      変更履歴:

        3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。
        3.6.0.8 (2004/11/19) エラー発生時に確実にリリースされるように try finally 追加
        3.8.6.3 (2006/11/30) SQL 文の前後のスペースを取り除きます。
        3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
        4.0.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更
        5.1.9.0 (2010/08/01) TransactionTag 対応。上位に TransactionTag があれば、そこからConnection をもらう。
        5.3.7.0 (2011/07/01) TransactionReal の引数変更
        5.3.8.0 (2011/08/01) Transaction発生箇所でclose()
        6.3.1.1 (2015/07/10) BodyString,BodyRawStringは、CommonTagSupport で、trim() します。
        6.3.6.1 (2015/08/28) Transaction でAutoCloseableを使用したtry-with-resources構築に対応。
        6.3.6.1 (2015/08/28) QueryFactory.close( Query ) 廃止。Queryはキャッシュしません。

    - #### doEndTag

          public int doEndTag()

      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
        `doEndTag` インタフェース内 `Tag`
      オーバーライド:
        `doEndTag` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示
      変更履歴:

        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        3.5.5.3 (2004/04/09) 値が null の場合は、""(ゼロ文字列)を返すフラグを採用
        5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応
        6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。

    - #### release2

          protected void release2()

      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
        `release2` クラス内 `CommonTagSupport`
      変更履歴:

        2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        4.0.0.0 (2007/10/10) dbid の初期値を、"DEFAULT" から null に変更
        4.3.4.0 (2008/12/01) save属性対応

    - #### commandExec

          protected void commandExec(String command)

      コマンドを実行します。 コマンドは,HTMLから(get/post)指定されますので,setCommand()メソッドで 登録します。 コマンドを登録すると同時に,実行も行ないます。
      パラメータ:
        `command` - コマンド (public static final 宣言されている文字列)
      関連項目:
        コマンド定数
      変更履歴:

        3.5.5.3 (2004/04/09) 値が null の場合は、""(ゼロ文字列)を返すフラグを採用

    - #### setCommand

          public void setCommand(String cmd)

      【TAG】コマンド (SET,GET,NVLGET,REMOVE,SQL)をセットします(初期値:SET)。
      パラメータ:
        `cmd` - コマンド (public static final 宣言されている文字列)
      関連項目:
        コマンド定数
      説明:

             コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される
             フィールド定数値のいずれかを、指定できます。
             何も設定されない、または、null の場合は、"SET" が初期値にセットされます。
             SQL の場合、検索結果の戻り値が複数存在する場合は、最初の１件目のみ使用します。

    - #### setKey

          public void setKey(String inkey)

      【TAG】UserInfo に登録するキーをセットします(予約語:JNAME,ID,PASSWD,IDNO,INFO,LANG,ROLE,IPADDRESS,LOGINTIME)。
      パラメータ:
        `inkey` - 登録するキー
      説明:

             UserInfo に登録するキーをセットします。

    - #### setValue

          public void setValue(String val)

      【TAG】UserInfo に登録する値をセットします。
      パラメータ:
        `val` - 登録値
      説明:

             UserInfo に登録する値をセットします。

    - #### setSave

          public void setSave(String sv)

      【TAG】UserInfo に登録した値を永続化するかを指定します(初期値:false)。
      パラメータ:
        `sv` - 登録値を永続化するか
      説明:

             UserInfo に登録した値を永続化するかを指定します。
             trueが指定された場合、UserInfoに設定された値は、GE20(ユーザー定数)に保存され、
             UserInfoが再作成されるタイミングで自動的に復元されます。
             ここで、登録された値は、そのユーザーの全てのロールに対して有効となります。
             初期値は、false(永続化しない)です。

    - #### setDbid

          public void setDbid(String id)

      【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
      パラメータ:
        `id` - データベース接続ID
      説明:

             Queryオブジェクトを作成する時のDB接続IDを指定します。

    - #### toString

          public String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `CommonTagSupport`
      戻り値:
        このクラスの文字列表現
      このメソッドは、nullを返しません

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