org.opengion.hayabusa.taglib

## クラス ReadTableTag

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

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

      public class ReadTableTag
      extends CommonTagSupport

  指定のファイルを DBTableModelオブジェクトに読み取るファイル入力タグです。 データ(DBTableModel)と、コントローラ(ReadTableタグ)を与えて、外部からコントロールすることで、 各種形式で データ(DBTableModel)を表示させることが できます。 ReadTableタグ に対して、コマンドを与えることにより、内部のコントローラの実装に対応した 形式でデータを作成します。 すべての読取の初期クラス名を リソースファイルの TABLE_READER_DEFAULT_CLASS で指定可能です。 その場合、AutoReader を指定すると、Excel と Default(テキスト) を順番に試します。 入力件数を"DB.COUNT" キーでリクエストにセットしています。
  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：
             <og:readTable
                 command      = "NEW"
                 fileURL      = "{@USER.ID}"     読み取り元ディレクトリ名
                 filename     = "{@filename}"    読み取り元ファイル名
                 encode       = "UnicodeLittle"       読み取り元ファイルエンコード名
                 maxRowCount  = "10000"               読取最大件数(0:[無制限])
             />
         ●body：なし

         ●Tag定義：
           <og:readTable
               readerClass        【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします({@og.doc03Link readerClass 初期値:Default})
               fileURL            【TAG】読み取り元ディレクトリ名を指定します(初期値:FILE_URL)
               filename           【TAG】ファイルを作成するときのファイル名をセットします (初期値:FILE_FILENAME[=file.xls])
               encode             【TAG】ファイルを作成するときのファイルエンコーディング名をセットします(初期値:FILE_ENCODE)
               maxRowCount        【TAG】読取時の最大取り込み件数をセットします (初期値:DB_MAX_ROW_COUNT[=1000])(0:[無制限])
               separator          【TAG】可変長ファイルを作成するときの項目区切り文字をセットします
               tableId            【TAG】(通常使いません)sessionから所得する DBTableModelオブジェクトの ID
               command            【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)
               modifyType         【TAG】ファイル取り込み時の モディファイタイプ(A(追加),C(更新),D(削除))を指定します
               displayMsg         【TAG】query の結果を画面上に表示するメッセージIDを指定します(初期値:MSG0033[　件検索しました])
               notfoundMsg        【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])
               sheetName          【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし)
               sheetNos           【TAG】EXCELファイルを読み込むときのシート番号を複数設定できます(初期値:0)
               sheetConstKeys     【TAG】EXCELファイルを読み込むときの固定値となるカラム名(CSV形式)
               sheetConstAdrs     【TAG】EXCELファイルを読み込むときの固定値となるアドレス(行-列,行-列,・・・)
               nullBreakClm       【TAG】カラム列に NULL が現れた時点で読み取りを中止します(複数Sheetの場合は、次のSheetを読みます)。
               columns            【TAG】読み取り元ファイルのカラム列を、外部(タグ)より指定します
               useNumber          【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)
               adjustColumns      【TAG】読み取り元ファイルのデータ変換を行うカラム列をカンマ指定します
               checkColumns       【TAG】読み取り元ファイルの整合性チェックを行うカラム列をカンマ指定します
               nullCheck          【TAG】NULL チェックすべきカラム列をカンマ区切り(CVS形式)で指定します
               language           【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します
               stopZero           【TAG】読込件数が０件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])
               scope              【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)
               mainTrans          【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)
               skipRowCount       【TAG】(通常は使いません)データの読み飛ばし件数を設定します
               useRenderer        【TAG】読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します (初期値:USE_TABLE_READER_RENDERER[=false])
               caseKey            【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20)
               caseVal            【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20)
               caseNN             【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
               caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           />

         ●使用例

             <og:readTable
                 command        = "NEW"
                 readerClass    = "Fixed"               固定長データの読み取り
                 modifyType     = "{@modifyType}"  読取時のモディファイタイプ(A,C等)
                 fileURL        = "{@USER.ID}"     読み取り元ディレクトリ名
                 filename       = "{@filename}"    読み取り元ファイル名
                 encode         = "Shift_JIS"           読み取り元ファイルエンコード名
                 maxRowCount    = "10000"               読取最大件数(0:[無制限])
                 columns        = "OYA,KO,HJO,SU,DYSTR,DYEND"   #NAME に対応するカラム列
                 useNumber      = "false"               行番号の存在しないデータを読み取ります。
                 adjustColumns  = "OYA,KO,HJO,SU"       データ変換するカラム列("*" で全カラム)
                 checkColumns   = "OYA,KO,HJO,SU"       整合性チェックするカラム列("*" で全カラム)
                 nullCheck      = "OYA,KO,SU"           NULLチェックを実行します("*" で全カラム)
                 stopZero       = "true"                取得0件の場合に以降の処理を停止します
                 skipRowCount   = "4"                   データの読み飛ばし件数(読み込み開始は、この数字＋１行目から)
             />

  機能分類
    ファイル入力
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

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

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static String` | `CMD_NEW` command 引数に渡す事の出来る コマンド 新規作成 "NEW"
    `static String` | `CMD_RENEW` command 引数に渡す事の出来る コマンド 再検索 "RENEW"

    - ### クラスから継承されたフィールド 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`

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

    コンストラクタ
    コンストラクタと説明
    `ReadTableTag()`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected void` | `create(BufferedReader out)` TableReader の実オブジェクトを生成して，BufferedReader に書き込みます。
    `int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setAdjustColumns(String clms)` 【TAG】読み取り元ファイルのデータ変換を行うカラム列をカンマ指定します。
    `void` | `setCheckColumns(String clms)` 【TAG】読み取り元ファイルの整合性チェックを行うカラム列をカンマ指定します。
    `void` | `setColumns(String clms)` 【TAG】読み取り元ファイルのカラム列を、外部(タグ)より指定します。
    `void` | `setCommand(String cmd)` 【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)。
    `void` | `setDisplayMsg(String id)` 【TAG】query の結果を画面上に表示するメッセージIDを指定します(初期値:MSG0033[　件検索しました])。
    `void` | `setEncode(String enc)` 【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=UnicodeLittle])。
    `void` | `setFilename(String filename)` 【TAG】ファイルを作成するときのファイル名をセットします (初期値:FILE_FILENAME[=file.xls])。
    `void` | `setFileURL(String url)` 【TAG】読み取り元ディレクトリ名を指定します (初期値:FILE_URL[=filetemp/])。
    `void` | `setMainTrans(String flag)` 【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)。
    `void` | `setMatchKeys(String keys)` 【TAG】matchKeysをカンマ区切りで指定します。
    `void` | `setMatchVals(String keys)` 【TAG】matchKeysをカンマ区切りで指定します。
    `void` | `setMaxRowCount(String count)` 【TAG】読取時の最大取り込み件数をセットします (初期値:DB_MAX_ROW_COUNT[=1000])。
    `void` | `setModifyType(String type)` 【TAG】ファイル取り込み時の モディファイタイプ(A(追加),C(更新),D(削除))を指定します。
    `void` | `setNotfoundMsg(String id)` 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。
    `void` | `setNullBreakClm(String clm)` 【TAG】ここに指定されたカラム列に NULL が現れた時点で読み取りを中止します。
    `void` | `setNullCheck(String clms)` 【TAG】NULL チェックすべきカラム列をカンマ区切り(CVS形式)で指定します。
    `void` | `setReaderClass(String readerClass)` 【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=5.9.17.1&VALUENAME=readerClass" target="CONTENTS">初期値:Default</a>)。
    `void` | `setSeparator(String separator)` 【TAG】可変長ファイルを作成するときの項目区切り文字をセットします。
    `void` | `setSheetConstAdrs(String constAdrs)` 【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名に対応するアドレスを指定します。
    `void` | `setSheetConstKeys(String constKeys)` 【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名を指定します。
    `void` | `setSheetName(String sheet)` 【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし)。
    `void` | `setSheetNos(String sheet)` 【TAG】EXCELファイルを読み込むときのシート番号を指定します(初期値:0)。
    `void` | `setSkipRowCount(String count)` 【TAG】(通常は使いません)データの読み飛ばし件数を設定します。
    `void` | `setStopZero(String cmd)` 【TAG】読込件数が０件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。
    `void` | `setTableId(String id)` 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
    `void` | `setUseNumber(String useNo)` 【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)。
    `void` | `setUseRenderer(String flag)` 【TAG】読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します (初期値:USE_TABLE_READER_RENDERER[=false])。
    `String` | `toString()` このオブジェクトの文字列表現を返します。

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

      `add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, 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_NEW

          public static final String CMD_NEW

      command 引数に渡す事の出来る コマンド 新規作成 "NEW"
      関連項目:
        定数フィールド値

    - #### CMD_RENEW

          public static final String CMD_RENEW

      command 引数に渡す事の出来る コマンド 再検索 "RENEW"
      関連項目:
        定数フィールド値

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

    - #### ReadTableTag

          public ReadTableTag()

  - ### メソッドの詳細

    - #### doEndTag

          public int doEndTag()

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

        3.0.1.4 (2003/03/17) displayMsg が ０Byteの場合は、件数も表示しないように変更。
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        3.5.4.1 (2003/12/01) 引数の BufferedReader を、InputStream に変更。
        3.5.4.3 (2004/01/05) 引数の InputStream を、 BufferedReader に戻す。
        3.5.6.5 (2004/08/09) 暫定的に、DBTableModelを先行削除します。
        3.6.0.0 (2004/09/24) DBTableModel の先行削除は、scope="session" の場合のみ。
        3.6.0.2 (2004/10/04) 取り込み時チェック用に、checkColumns,adjustColumns 属性追加
        3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。
        3.8.5.3 (2006/08/07) readerClassが "Excel"でエラーが発生したとき、もう一度Defaultで再読取を行います。
        4.0.0.0 (2007/10/12) checkTableColumn 前に、modifyType 設定を行います。
        4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel )
        4.3.1.1 (2008/10/08) columnsが指定されている場合は、AutoReader禁止
        4.3.7.0 (2009/06/01) stopZero機能,DB.COUNTリクエストキーへ読込件数セットを追加
        5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。
        5.1.8.0 (2010/07/01) AutoReaderのCalc対応
        5.1.9.0 (2010/08/01) AutoReaderでのExceptionの判定をThrowableに変更
        5.7.1.2 (2013/12/20) tempMsg.toString() ⇒ errMsg 変更
        5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加

    - #### 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()で呼ぶ。
        3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。
        3.1.4.0 (2003/04/18) command 属性に、初期値(NEW)を設定する。
        3.5.4.2 (2003/12/15) EXCELのシート名を指定できるように変更。
        3.5.4.5 (2004/01/23) 外部よりカラム列(カンマ区切り)を指定できるようにする。
        3.6.0.2 (2004/10/04) checkColumns,adjustColumns,allColumnCheck 属性追加
        3.7.0.5 (2005/04/11) useNumber 属性を追加します。
        3.8.0.2 (2005/06/30) nullCheck 属性追加
        3.8.5.3 (2006/08/07) readerClass 属性の初期値をシステムリソースより取得します。
        4.3.7.0 (2009/06/01) stopZero属性追加
        5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。
        5.1.6.0 (2010/05/01) データの読み飛ばし設定 skipRowCount 属性追加
        5.2.1.0 (2010/10/01) 読取処理でコードリソースのラベル変換を行うかどうか useRenderer 属性追加
        5.5.7.2 (2012/10/09) 複数シートを指定できるようにシート番号を指定できるように、sheetNos属性追加
        5.5.8.2 (2012/11/09) 固定値となるカラム名、アドレスの指定のための、sheetConstKeys、sheetConstAdrs属性追加
        5.5.8.2 (2012/11/09) カラム列に NULL が現れた時点で読み取りを中止する、nullBreakClm属性追加
        5.9.8.1 (2016/05/13) 読込条件の追加

    - #### create

          protected void create(BufferedReader out)

      TableReader の実オブジェクトを生成して，BufferedReader に書き込みます。
      パラメータ:
        `out` - 出力するBufferedReaderオブジェクト
      変更履歴:

        3.5.4.1 (2003/12/01) 引数の BufferedReader を、InputStream に変更。
        3.5.4.2 (2003/12/15) TableReader のサブクラス名変更。
        3.5.4.2 (2003/12/15) EXCELのシート名を指定できるように変更。
        3.5.4.3 (2004/01/05) 引数の InputStream を、 BufferedReader に戻す。
        3.5.4.5 (2004/01/23) TableReader に、encode を渡すように変更。
        3.5.6.0 (2004/06/18) 各種プラグイン関連付け設定を、システムパラメータ に記述します。
        3.7.0.5 (2005/04/11) useNumber 属性を追加します。
        4.0.0.0 (2005/01/31) キーの指定を、TableReader. から、TableReader_ に変更します。
        4.0.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更
        5.1.6.0 (2010/05/01) データの読み飛ばし設定 skipRowCount 属性追加
        5.2.1.0 (2010/10/01) 読取処理でコードリソースのラベル変換を行うかどうか設定 useRenderer 属性追加
        5.5.7.2 (2012/10/09) 複数シートを指定できるようにシート番号を指定できるように、sheetNos属性追加
        5.5.8.2 (2012/11/09) 固定値となるカラム名、アドレスの指定のための、sheetConstKeys、sheetConstAdrs属性追加
        5.5.8.2 (2012/11/09) カラム列に NULL が現れた時点で読み取りを中止する、nullBreakClm属性追加
        5.9.8.1 (2016/05/13) match対応

    - #### setTableId

          public void setTableId(String id)

      【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
      パラメータ:
        `id` - sessionに登録する時の ID
      説明:

             検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に
             渡す場合に、通常は、session を利用します。その場合の登録キーです。
             query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、
             この tableId 属性を利用して、メモリ空間を分けます。
            		(初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])。

    - #### setSeparator

          public void setSeparator(String separator)

      【TAG】可変長ファイルを作成するときの項目区切り文字をセットします。
      パラメータ:
        `separator` - 項目区切り文字
      説明:

             可変長ファイルを作成するときの項目区切り文字をセットします。

    - #### setFileURL

          public void setFileURL(String url)

      【TAG】読み取り元ディレクトリ名を指定します (初期値:FILE_URL[=filetemp/])。
      パラメータ:
        `url` - 読み取り元ディレクトリ名
      関連項目:
        `SystemData.FILE_URL`
      説明:

             この属性で指定されるディレクトリより、ファイルを読み取ります。
             指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、２文字目が、
             ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、
             fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、
             さらに、各個人ID別のフォルダを作成して、そこを操作します。
             (初期値:システム定数のFILE_URL[={@og.value org.opengion.hayabusa.common.SystemData#FILE_URL}])。

      変更履歴:

        4.0.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用
        4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。

    - #### setFilename

          public void setFilename(String filename)

      【TAG】ファイルを作成するときのファイル名をセットします (初期値:FILE_FILENAME[=file.xls])。
      パラメータ:
        `filename` - ファイル名
      関連項目:
        `SystemData.USE_SQL_INJECTION_CHECK`
      説明:

             ファイルを作成するときのファイル名をセットします。
             (初期値:システム定数のFILE_FILENAME[={@og.value org.opengion.hayabusa.common.SystemData#FILE_FILENAME}])。

    - #### setEncode

          public void setEncode(String enc)

      【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=UnicodeLittle])。
      パラメータ:
        `enc` - ファイルエンコーディング名
      関連項目:
        IANA Charset Registry, `SystemData.FILE_ENCODE`
      説明:

             Shift_JIS,MS932,Windows-31J,UTF-8,ISO-8859-1,UnicodeLittle
             (初期値:システム定数のFILE_ENCODE[={@og.value org.opengion.hayabusa.common.SystemData#FILE_ENCODE}])。

      変更履歴:

        2.2.0.0 (2002/12/17) 中国語(国際化)対応 エンコードの取得方法変更
        3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。

    - #### setReaderClass

          public void setReaderClass(String readerClass)

      【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=5.9.17.1&VALUENAME=readerClass" target="CONTENTS">初期値:Default</a>)。
      パラメータ:
        `readerClass` - クラス名(の略称)
      関連項目:
        `TableReaderのサブクラス`
      説明:

             実際に読み出すクラス名(の略称)をセットします。
             これは、org.opengion.hayabusa.io 以下の TableReader_**** クラスの **** を
             与えます。これらは、TableReader インターフェースを継承したサブクラスです。
             属性クラス定義の TableReader を参照願います。
             readerClass TableReader_**** クラス

    - #### setMaxRowCount

          public void setMaxRowCount(String count)

      【TAG】読取時の最大取り込み件数をセットします (初期値:DB_MAX_ROW_COUNT[=1000])。
      パラメータ:
        `count` - 読取時の最大取り込み件数
      関連項目:
        `SystemData.DB_MAX_ROW_COUNT`
      説明:

             DBTableModelのデータとして登録する最大件数をこの値に設定します。
             サーバーのメモリ資源と応答時間の確保の為です。
             0 をセットすると、無制限(Integer.MAX_VALUE)になります。
             (初期値:ユーザー定数のDB_MAX_ROW_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#DB_MAX_ROW_COUNT}])。

      変更履歴:

        5.5.8.5 (2012/11/27) 0を無制限として処理します。

    - #### setCommand

          public void setCommand(String cmd)

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

             コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される
             フィールド定数値のいづれかを、指定できます。
             何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。

    - #### setDisplayMsg

          public void setDisplayMsg(String id)

      【TAG】query の結果を画面上に表示するメッセージIDを指定します(初期値:MSG0033[　件検索しました])。
      パラメータ:
        `id` - ディスプレイに表示させるメッセージ ID
      説明:

             ここでは、検索結果の件数や登録された件数をまず出力し、
             その次に、ここで指定したメッセージをリソースから取得して
             表示します。
             表示させたくない場合は, displayMsg = "" をセットしてください。
             初期値は、検索件数を表示します。

    - #### setNotfoundMsg

          public void setNotfoundMsg(String id)

      【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。
      パラメータ:
        `id` - ディスプレイに表示させるメッセージ ID
      説明:

             ここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。
             従来は、displayMsg と兼用で、『0　件検索しました』という表示でしたが、
             displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。
             表示させたくない場合は, notfoundMsg = "" をセットしてください。
             初期値は、MSG0077[対象データはありませんでした]です。

    - #### setModifyType

          public void setModifyType(String type)

      【TAG】ファイル取り込み時の モディファイタイプ(A(追加),C(更新),D(削除))を指定します。
      パラメータ:
        `type` - ファイル取り込み時の モディファイタイプ(A,C,D属性)
      説明:

             ファイル読み込み時に、そのデータをA(追加)、C(更新)、D(削除)の
             モディファイタイプをつけた状態にします。
             その状態で、そのまま、update する事が可能になります。

    - #### setSheetName

          public void setSheetName(String sheet)

      【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし)。
      パラメータ:
        `sheet` - EXCELファイルのシート名
      関連項目:
        `setSheetNos( String )`
      説明:

             EXCELファイルを読み込む時に、シート名を指定します。これにより、複数の形式の
             異なるデータを順次読み込むことや、シートを指定して読み取ることが可能になります。
             sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。
             初期値は、指定なしです。

      変更履歴:

        3.5.4.2 (2003/12/15) 新規追加

    - #### setSheetNos

          public void setSheetNos(String sheet)

      【TAG】EXCELファイルを読み込むときのシート番号を指定します(初期値:0)。
      パラメータ:
        `sheet` - EXCELファイルのシート番号（0から始まる）
      関連項目:
        `setSheetName( String )`
      説明:

             EXCEL読み込み時に複数シートをマージして取り込みます。
             シート番号は、0 から始まる数字で表します。
             ヘッダーは、最初のシートのカラム位置に合わせます。（ヘッダータイトルの自動認識はありません。）
             よって、指定するシートは、すべて同一レイアウトでないと取り込み時にカラムのずれが発生します。

             シート番号の指定は、カンマ区切りで、複数指定できます。また、N-M の様にハイフンで繋げることで、
             N 番から、M 番のシート範囲を一括指定可能です。また、"*" による、全シート指定が可能です。
             これらの組み合わせも可能です。（ 0,1,3,5-8,10-* ）
             ただし、"*" に関しては例外的に、一文字だけで、すべてのシートを表すか、N-* を最後に指定するかの
             どちらかです。途中には、"*" は、現れません。
             シート番号は、重複(1,1,2,2)、逆転(3,2,1) での指定が可能です。これは、その指定順で、読み込まれます。
             sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。

             初期値は、0（第一シート） です。

      変更履歴:

        5.5.7.2 (2012/10/09) 新規追加

    - #### setSheetConstKeys

          public void setSheetConstKeys(String constKeys)

      【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名を指定します。
      パラメータ:
        `constKeys` - 固定値となるカラム名(CSV形式)
      関連項目:
        `setSheetConstAdrs( String )`
      説明:

             カラム名は、カンマ区切りで指定します。
             これにより、シートの一か所に書かれている情報を、DBTableModel のカラムに固定値として
             設定することができます。
             例として、DB定義書で、テーブル名をシートの全レコードに設定したい場合などに使います。
             このメソッドは、isExcel() == true の場合のみ利用されます。

      変更履歴:

        5.5.8.2 (2012/11/09) 新規追加

    - #### setSheetConstAdrs

          public void setSheetConstAdrs(String constAdrs)

      【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名に対応するアドレスを指定します。
      パラメータ:
        `constAdrs` - 固定値となるアドレス(行-列,行-列,・・・)
      関連項目:
        `setSheetConstKeys( String )`
      説明:

             アドレスは、EXCEL上の行-列をカンマ区切りで指定します。
             行列は、EXCELオブジェクトに準拠するため、０から始まる整数です。
             0-0 ⇒ A1 , 1-0 ⇒ A2 , 0-1 ⇒ B1 になります。
             これにより、シートの一か所に書かれている情報を、DBTableModel のカラムに固定値として
             設定することができます。
             例として、DB定義書で、テーブル名をシートの全レコードに設定したい場合などに使います。
             このメソッドは、isExcel() == true の場合のみ利用されます。

             5.7.6.3 (2014/05/23) より、
               ①EXCEL表記に準拠した、A1,A2,B1 の記述も処理できるように対応します。
                 なお、A1,A2,B1 の記述は、必ず、英字1文字＋数字 にしてください。(A～Zまで)
               ②処理中のEXCELシート名をカラムに割り当てるために、"SHEET" という記号に対応します。
             例えば、sheetConstKeys="CLM,LANG,NAME" とし、sheetConstAdrs="0-0,A2,SHEET" とすると、
             NAMEカラムには、シート名を読み込むことができます。
             これは、内部処理の簡素化のためです。

             ちなみに、EXCELのセルに、シート名を表示させる場合の関数は、下記の様になります。
             =RIGHT(CELL("filename",$A$1),LEN(CELL("filename",$A$1))-FIND("]",CELL("filename",$A$1)))

      変更履歴:

        5.5.8.2 (2012/11/09) 新規追加

    - #### setNullBreakClm

          public void setNullBreakClm(String clm)

      【TAG】ここに指定されたカラム列に NULL が現れた時点で読み取りを中止します。
      パラメータ:
        `clm` - カラム列
      説明:

             これは、指定のカラムは必須という事を条件に、そのレコードだけを読み取る処理を行います。
             複数Sheetの場合は、次のSheetを読みます。
             現時点では、Excel の場合のみ有効です。

      変更履歴:

        5.5.8.2 (2012/11/09) 新規追加

    - #### setColumns

          public void setColumns(String clms)

      【TAG】読み取り元ファイルのカラム列を、外部(タグ)より指定します。
      パラメータ:
        `clms` - 読み取り元ファイルのカラム列(カンマ区切り文字)
      説明:

             読み取り元ファイルのカラム列を、外部(タグ)より指定します。
             ファイルに記述された #NAME より優先して使用されます。
             これは、元ファイルのカラムを順番に指定のカラム名に割り当てる機能で
             ファイルの特定のカラム列を抜き出して取り込む機能ではありません。

      変更履歴:

        3.5.4.5 (2004/01/23) 新規作成

    - #### setCheckColumns

          public void setCheckColumns(String clms)

      【TAG】読み取り元ファイルの整合性チェックを行うカラム列をカンマ指定します。
      パラメータ:
        `clms` - 整合性チェックを行うカラム列(カンマ区切り文字)
      説明:

             カラムオブジェクトのDBType属性に対応したチェックを行います。
             指定のカラム名をカンマ区切り(CSV)で複数指定できます。
             全てのカラムのチェックを行う場合は、allColumnCheck = "true" を
             指定して下さい。
             分解方法は、通常のパラメータ取得後に、CSV分解します。

      変更履歴:

        3.6.0.2 (2004/10/04) 新規追加 取り込み時チェック用
        3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。

    - #### setAdjustColumns

          public void setAdjustColumns(String clms)

      【TAG】読み取り元ファイルのデータ変換を行うカラム列をカンマ指定します。
      パラメータ:
        `clms` - データ変換を行うカラム列(カンマ区切り文字)
      説明:

             カラムオブジェクトのDBType属性に対応したデータ変換を行います。
             指定のカラム名をカンマ区切り(CSV)で複数指定できます。
             分解方法は、通常のパラメータ取得後に、CSV分解します。

      変更履歴:

        3.6.0.2 (2004/10/04) 新規追加 取り込み時データ変換
        3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。

    - #### setNullCheck

          public void setNullCheck(String clms)

      【TAG】NULL チェックすべきカラム列をカンマ区切り(CVS形式)で指定します。
      パラメータ:
        `clms` - カラム列(CVS形式)
      説明:

             nullCheck="AAA,BBB,CCC,DDD"
             分解方法は、通常のパラメータ取得後に、CSV分解します。

      変更履歴:

        3.8.0.2 (2005/06/30) 新規追加
        3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。

    - #### setUseNumber

          public void setUseNumber(String useNo)

      【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)。
      パラメータ:
        `useNo` - 行番号情報 [true:使用する/false:使用しない]
      説明:

             通常のフォーマットでは、各行の先頭に行番号が出力されています。
             読み取り時に、#NAME 属性を使用する場合は、この行番号を無視しています。
             #NAME 属性を使用せず、columns 属性でカラム名を指定する場合(他システムの
             出力ファイルを読み取るケース等)では、行番号も存在しないケースがあり、
             その様な場合に、useNumber="false" を指定すれば、データの最初から読み取り始めます。
             この場合、出力データのカラムの並び順が変更された場合、columns 属性も
             指定しなおす必要がありますので、できるだけ、#NAME 属性を使用するように
             してください。
             なお、EXCEL 入力には、この設定は適用されません。(暫定対応)
             初期値は、true(使用する) です。

      変更履歴:

        3.7.0.5 (2005/04/11) 新規追加

    - #### setStopZero

          public void setStopZero(String cmd)

      【TAG】読込件数が０件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。
      パラメータ:
        `cmd` - 読込件数が０件のとき、処理を [true:中止する/false:続行する]
      説明:

             初期値は、false(続行する)です。

      変更履歴:

        4.3.7.0 (2009/06/01) 新規追加

    - #### setMainTrans

          public void setMainTrans(String flag)

      【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)。
      パラメータ:
        `flag` - メイントランザクションかどうか
      説明:

             この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが
             ファイルダウンロードの対象の表になります。

             このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。
             但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい
             場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から
             除外することができます。

      変更履歴:

        5.1.6.0 (2010/05/01) 新規作成

    - #### setSkipRowCount

          public void setSkipRowCount(String count)

      【TAG】(通常は使いません)データの読み飛ばし件数を設定します。
      パラメータ:
        `count` - 読み始めの初期値
      説明:

             TAB区切りテキストやEXCEL等のデータの読み始めの初期値を指定します。
             ファイルの先頭行が、０行としてカウントしますので、設定値は、読み飛ばす
             件数になります。(１と指定すると、１件読み飛ばし、２行目から読み込みます。)
             読み飛ばしは、コメント行などは、無視しますので、実際の行数分読み飛ばします。
             ＃NAME属性や、columns 属性は、有効です。

      変更履歴:

        5.1.6.0 (2010/05/01) 新規作成

    - #### setUseRenderer

          public void setUseRenderer(String flag)

      【TAG】読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します (初期値:USE_TABLE_READER_RENDERER[=false])。
      パラメータ:
        `flag` - コードリソースのラベル逆変換を行うかどうか
      関連項目:
        `SystemData.USE_TABLE_READER_RENDERER`
      説明:

             TableWriter_Renderer 系のクラスで出力した場合は、コードリソースがラベルで出力されます。
             そのファイルを読み取ると、当然、エラーになります。
             ここでは、コードリソースのカラムに対して、ラベルからコードを求める逆変換を行うことで、
             Renderer 系で出力したファイルを取り込むことができるようにします。

             ここでは、TableWriter 系と同様に、TableReader_Renderer 系のクラスを作るのではなく、
             属性値のフラグで、制御します。
             将来的には、TableWriter 系も廃止して、同様のフラグで制御するように変更する予定です。
             (初期値:システム定数のUSE_TABLE_READER_RENDERER[={@og.value org.opengion.hayabusa.common.SystemData#USE_TABLE_READER_RENDERER}])。

      変更履歴:

        5.2.1.0 (2010/10/01) 新規作成

    - #### setMatchKeys

          public void setMatchKeys(String keys)

      【TAG】matchKeysをカンマ区切りで指定します。
      パラメータ:
        `keys` - カラム列(カンマ区切り文字)
      説明:

             ファイルから特定の行のみを読み取るためのmatchKeysを指定します。
             matchKeysで指定したカラムに対して、matchValsの正規表現でチェックします。
             この機能はTableReader_Defaultのみ有効です。
             通常は指定する必要はありません。

      変更履歴:

        5.9.8.1 (2016/05/13) 新規作成

    - #### setMatchVals

          public void setMatchVals(String keys)

      【TAG】matchKeysをカンマ区切りで指定します。
      パラメータ:
        `keys` - カラム列(カンマ区切り文字)
      説明:

             ファイルから特定の行のみを読み取るためのmatchKeysを指定します。
             matchKeysで指定したカラムに対して、matchValsの正規表現でチェックします。
             この機能はTableReader_Defaultのみ有効です。
             通常は指定する必要はありません。

      変更履歴:

        5.9.8.1 (2016/05/13) 新規作成

    - #### toString

          public String toString()

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

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