クラス ReadTableTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable
直系の既知のサブクラス:
DirectTableInsertTag

public class ReadTableTag extends ExcelSheetSupport
指定のファイルを DBTableModelオブジェクトに読み取るファイル入力タグです。 データ(DBTableModel)と、コントローラ(ReadTableタグ)を与えて、外部からコントロールすることで、 各種形式で データ(DBTableModel)を表示させることが できます。 ReadTableタグ に対して、コマンドを与えることにより、内部のコントローラの実装に対応した 形式でデータを作成します。 すべての読取の初期クラス名を リソースファイルの TABLE_READER_DEFAULT_CLASS で指定可能です。 その場合、AutoReader を指定すると、Excel と Text(テキスト) を以下の順番で試します。 Excel,Calc,Text(UnicodeLittle),Text(Windows-31J),Text(UTF-8),Text(EUC-JP),POI UTF-8 のTEXTとWindows-31JのTEXTは、ヘッダー部での区別ができないため、正確なTextの自動読取できません。 ※ 6.2.5.0 (2015/06/05) 仕様変更 ・AutoReader で、encode を指定すると、Text(encode) を先に試します。 ・Textで、encode を指定しない場合は、システム変数の FILE_ENCODE を使用します。 入力件数を"DB.COUNT" キーでリクエストにセットしています。 ※ 7.3.1.3 (2021/03/09) DB.NAMES , DB.ORGNAMES #NAME や columns で指定したカラムは、{@DB.NAMES} で取り出すことが可能です。 ファイルにかかれた、オリジナルの #NAME は、{@DB.ORGNAMES} で取り出すことが可能です。
関連項目:
変更履歴:
8.5.6.1 (2024/03/29) ExcelSheetSupport を継承します。
機能分類
ファイル入力
形式サンプル:
●形式: <og:readTable command = "NEW" fileURL = "{@USER.ID}" 読取元ディレクトリ名 filename = "{@filename}" 読取元ファイル名 encode = "UnicodeLittle" 読取元ファイルエンコード名 maxRowCount = "10000" 読取最大件数(初期値:0:[無制限]) /> ●body:なし ●Tag定義: <og:readTable readerClass 【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします (初期値:TABLE_READER_DEFAULT_CLASS[=]) command 【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW) fileURL 【TAG】読取元ディレクトリ名を指定します(初期値:FILE_URL) filename 【TAG】ファイルを読み出すときのファイル名をセットします (初期値:FILE_FILENAME[=file.xls]) encode 【TAG】ファイルを読み出すときのファイルエンコーディング名をセットします(初期値:FILE_ENCODE) skipRowCount 【TAG】(通常は使いません)データの読み飛ばし件数を設定します maxRowCount 【TAG】読取時の最大取込件数をセットします (初期値:0:[無制限]) errRowCount 【TAG】読取時の最大エラー件数をセットします (初期値:)(0:[無制限]) separator 【TAG】可変長ファイルを読み出すときの項目区切り文字をセットします columns 【TAG】読取元ファイルのカラム列を、外部(タグ)よりCSV形式で指定します omitNames 【TAG】読取対象外のカラム列を、外部(タグ)よりCSV形式で指定します modifyType 【TAG】ファイル取込時の モディファイタイプ(A(追加),C(更新),D(削除))を指定します displayMsg 【TAG】query の結果を画面上に表示するメッセージIDを指定します(初期値:VIEW_DISPLAY_MSG[=])) overflowMsg 【TAG】読取データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]) notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした]) ※ sheetName 【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし) ※ sheetNos 【TAG】EXCELファイルを読み込むときのシート番号を複数設定できます(初期値:0) ※ sheetConstKeys 【TAG】EXCELファイルを読み込むときの固定値となるカラム名(CSV形式) ※ sheetConstAdrs 【TAG】EXCELファイルを読み込むときの固定値となるアドレス(行-列,行-列,・・・) nullBreakClm 【TAG】カラム列に NULL が現れた時点で読取を中止します(複数Sheetの場合は、次のSheetを読みます)。 nullSkipClm 【TAG】カラム列に NULL が現れたレコードは読み飛ばします。 useNumber 【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true) useRepeatClms 【TAG】読取処理で横持ちデータの繰り返しが存在する場合に、trueを指定します(初期値:false) 7.3.0.0 (2021/01/06) useRenderer 【TAG】読取処理でKEY:VAL形式のコードリソースから、KEYを取り出す処理を行うかどうかを指定します(初期値:USE_TABLE_READER_RENDERER[=false]) adjustColumns 【TAG】読取元ファイルのデータ変換を行うカラム列をカンマ指定します("*" で全カラム) checkColumns 【TAG】読取元ファイルの整合性チェックを行うカラム列をカンマ指定します("*" で全カラム) useStrict 【TAG】整合性チェック時に、厳密にチェックするかどうか[true/false]を指定します(初期値:true) 7.3.2.0 (2021/03/19) nullCheck 【TAG】NULL チェックすべきカラム列をCSV形式(CSV形式)で指定します matchKeys 【TAG】レコードの読取条件指定時のカラム列をCSV形式で指定します 6.4.6.0 (2016/05/27) matchVals 【TAG】レコードの読取条件指定時のカラム列に対応する正規表現データをCSV形式で指定します 6.4.6.0 (2016/05/27) language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します stopZero 【TAG】読込件数が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する]) mainTrans 【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false) tableId 【TAG】(通常は使いません)sessionから所得する DBTableModelオブジェクトの ID scope 【TAG】キャッシュする場合のスコープ[request/session/application]を指定します (初期値:session) useSLabel 【TAG】7.0.7.0 (2019/12/13) エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false) useLocal 【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false) 8.0.1.0 (2021/10/29) 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)は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 <og:readTable command = "NEW" readerClass = "Text" テキストファイルの読取 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" データの読み飛ばし件数(読み込み開始は、この数字+1行目から) />
導入されたバージョン:
JDK5.0,
  • フィールド詳細

    • CMD_NEW

      public static final String CMD_NEW
      command 引数に渡す事の出来る コマンド 新規作成 "NEW"
      関連項目:
    • CMD_RENEW

      public static final String CMD_RENEW
      command 引数に渡す事の出来る コマンド 再検索 "RENEW"
      関連項目:
    • separator

      protected String separator
      項目区切り文字
    • encode

      protected String encode
      ファイルエンコーディング
    • readerClass

      protected String readerClass
      読取クラス名
    • maxRowCount

      protected int maxRowCount
      最大行
    • displayMsg

      protected String displayMsg
      ディスプレイメッセージ
    • executeCount

      protected int executeCount
      実行件数
    • nullBreakClm

      protected String nullBreakClm
      取込み条件/Sheet BREAK条件
    • nullSkipClm

      protected String nullSkipClm
      行読み飛ばし
    • columns

      protected String columns
      3.5.4.5 (2004/01/23) 外部よりカラム列(CSV形式)を指定できるようにする
    • useNumber

      protected boolean useNumber
      6.1.0.0 (2014/12/26) 読取対象外のカラム列を、外部(タグ)より指定する
    • stopZero

      protected boolean stopZero
      stopZero属性
    • skipRowCount

      protected int skipRowCount
      データの読み飛ばし設定
    • clmAct

      protected transient ReadTableTag.ColumnAction clmAct
      6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する
    • useSLabel

      protected boolean useSLabel
      7.0.7.0 (2019/12/13) エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)
  • コンストラクタの詳細

    • ReadTableTag

      public ReadTableTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doEndTag

      public int doEndTag()
      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
      doEndTag インタフェース内 Tag
      オーバーライド:
      doEndTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      3.0.1.4 (2003/03/17) displayMsg が 0Byteの場合は、件数も表示しないように変更。, 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 属性を追加, 6.0.2.5 (2014/10/31) debug=true 時のエラー情報を増やします。, 6.2.0.0 (2015/02/27) TableReader クラスの呼び出し元メソッドの共通化(EXCEL,TEXT), 6.2.0.0 (2015/02/27) EXCEL出力のparamLevel初期値変更 3:標準推奨 → 4:個人設定可, 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。, 6.2.3.0 (2015/05/01) 複数処理を考慮して、例外処理は発行しない。, 6.2.3.0 (2015/05/01) columnsが指定されていても、AutoReader を使えるようにします。, 6.2.4.2 (2015/05/29) エラーを画面に出します。, 6.2.5.0 (2015/06/05) AutoReaderの仕様変更。, 6.3.6.1 (2015/08/28) DirectTableInsertTag でSQLException発生時のみ throwする。, 6.4.2.0 (2016/01/29) StringUtil#ogStackTrace(Throwable) を、ThrowUtil#ogStackTrace(String,Throwable) に置き換え。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。, 6.4.5.1 (2016/04/28) CSV 指定時は、readerClass="Text" , separator="," に、再設定します。, 6.5.0.1 (2016/10/21) Throwable ではなく、OgCharacterException をキャッチして、処理を継続します。, 7.0.4.0 (2019/05/31) encode指定時の処理順序変更, 7.0.5.0 (2019/09/09) OgCharacterExceptionでは、取りこぼしがあるため、OgRuntimeException も継続処理するように変更。, 8.0.0.1 (2021/10/08) クラウド対応, 8.0.0.2 (2021/10/15) TableReader系は、クラウドから、ローカルファイルに移してから処理する。, 8.1.1.0 (2022/02/04) sqlError フラグでの判定は、DirectTableInsertTag のみで行います。, 8.1.2.3 (2022/05/20) readerClass が AutoReader の時、readerClass が Text になるバグ修正
    • afterEnd

      protected int afterEnd()
      #doEndTag() の後続処理を記述します。 これは、サブクラスで、DBTableModel以外の処理を行う場合に、 処理内容を分けるために用意します。
      戻り値:
      後続処理の指示
      変更履歴:
      6.2.2.0 (2015/03/27) #afterEnd() メソッド 新規作成。, 6.2.4.2 (2015/05/29) executeCount の設定がおかしい。ReadTableTagでは、設定されていなかった。, 6.2.5.0 (2015/06/05) エラー処理は、継承先でも行うので、メソッド化します。, 7.0.7.0 (2019/12/13) useSLabel 属性を追加。
    • release2

      protected void release2()
      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
      release2 クラス内 ExcelSheetSupport
      変更履歴:
      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) 外部よりカラム列(CSV形式)を指定できるようにする。, 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属性追加, 6.1.0.0 (2014/12/26) omitNames 属性を追加, 6.2.0.0 (2015/02/27) オーバーフロー時のメッセージを表示, 6.2.0.0 (2015/02/27) EXCEL出力のparamLevel初期値変更 3:標準推奨 → 4:個人設定可, 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。, 6.2.3.0 (2015/05/01) 行読み飛ばし nullSkipClm追加, 6.2.5.0 (2015/06/05) ファイルエンコードの初期化を遅らせます。, 7.0.7.0 (2019/12/13) useSLabel 属性を追加。, 8.0.1.0 (2021/10/29) useLocal 属性を追加。
    • create

      protected void create(File file)
      TableReader の実オブジェクトを生成して、BufferedReader に書き込みます。
      パラメータ:
      file - 出力するFileオブジェクト
      変更履歴:
      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属性追加, 6.0.4.0 (2014/11/28) NullPointerException が発生するので、事前にチェックします。, 6.2.0.0 (2015/02/27) TableReader クラスの呼び出し元メソッドの共通化(EXCEL,TEXT), 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。, 6.2.2.0 (2015/03/27) ColumnActionListener 対応。, 6.2.3.0 (2015/05/01) 行読み飛ばし nullSkipClm追加, 6.4.1.2 (2016/01/22) setColumnActionListener は、内部処理が走るため、他の設定が終わってから呼び出す。, 6.4.3.3 (2016/03/04) HybsSystem.newInstance(String,String) への置き換え。, 7.3.0.0 (2021/01/06) ColumnActionListenerインターフェースを無名内部クラスから、内部クラスへ。, 7.3.0.0 (2021/01/06) 横持ちデータの繰り返し対応
    • setTableId

      public void setTableId(String id)
      【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。
      パラメータ:
      id - テーブルID (sessionに登録する時のID)
      説明:
      検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=])。
    • setSeparator

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

      public void setFileURL(String url)
      【TAG】読取元ディレクトリ名を指定します (初期値:FILE_URL[=])。
      パラメータ:
      url - 読取元ディレクトリ名
      関連項目:
      変更履歴:
      4.0.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用, 4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。, 6.4.2.1 (2016/02/05) URLの最後に、"/" を追加する処理を廃止。
      説明:
      この属性で指定されるディレクトリより、ファイルを読取ます。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、 さらに、各個人ID別のフォルダを作成して、そこを操作します。 (初期値:システム定数のFILE_URL[=])。
    • setFilename

      public void setFilename(String filename)
      【TAG】ファイルを作成するときのファイル名をセットします (初期値:FILE_FILENAME[=])。
      パラメータ:
      filename - ファイル名
      関連項目:
      説明:
      ファイルを作成するときのファイル名をセットします。 (初期値:システム定数のFILE_FILENAME[=])。
    • setEncode

      public void setEncode(String enc)
      【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=])。
      パラメータ:
      enc - ファイルエンコーディング名
      関連項目:
      変更履歴:
      2.2.0.0 (2002/12/17) 中国語(国際化)対応 エンコードの取得方法変更, 3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。
      説明:
      readerClass="AutoReader" の場合、ここで設定した encode が優先されます。 readerClass="Text" の場合、encode が指定されていない場合は、初期値 の FILE_ENCODE が使用されます Shift_JIS,MS932,Windows-31J,UTF-8,ISO-8859-1,UnicodeLittle (初期値:システム定数のFILE_ENCODE[=])。
    • setReaderClass

      public void setReaderClass(String readerCls)
      【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします (初期値:TABLE_READER_DEFAULT_CLASS[=])。
      パラメータ:
      readerCls - クラス名(の略称)
      関連項目:
      変更履歴:
      3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。 "AutoReader" は特別な名前で、Excel と Text(テキスト) を以下の順番で試します。 Excel,Calc,Text(UnicodeLittle),Text(Windows-31J),Text(Windows-31J),Text(UTF-8),Text(EUC-JP) Excel については、拡張子を自動判定して、(xlsx か xls) 適切な処理を行います。 従来からの 拡張子のみ、xls のテキストファイルは、#NAME を見つけることができないため、エラーになり、 次のText読み取りにゆだねられます。 UTF-8 のTEXTとWindows-31JのTEXTは、ヘッダー部での区別ができないため、java.nio.file.Files と Pathを 使用した読み取り方式に変更しています。 "AutoReader" に設定した場合は、上記の様に、encode を順番に確かめるため、encode属性の指定は無視されます。 (初期値:TABLE_READER_DEFAULT_CLASS[=])。, 6.2.1.0 (2015/03/13) Default廃止に伴い、Defaultが指定された場合は、Textに置き換える。
      説明:
      実際に読み出すクラス名(の略称)をセットします。 これは、org.opengion.hayabusa.io 以下の TableReader_**** クラスの **** を 与えます。これらは、TableReader インターフェースを継承したサブクラスです。 属性クラス定義の TableReader を参照願います。
    • setMaxRowCount

      public void setMaxRowCount(String count)
      【TAG】読取時の最大取込件数をセットします(初期値:0:無制限)。
      パラメータ:
      count - 最大件数
      変更履歴:
      5.5.8.5 (2012/11/27) 0を無制限として処理します。, 6.2.2.0 (2015/03/27) 初期値を、無制限に変更
      説明:
      DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 0 をセットすると、無制限になります。 (初期値:0:無制限)
    • setErrRowCount

      public void setErrRowCount(String count)
      【TAG】読取時の最大エラー件数をセットします (初期値:)。
      パラメータ:
      count - 最大件数
      変更履歴:
      6.2.2.0 (2015/03/27) 読取時の最大エラー件数(errRowCount) を新規追加
      説明:
      DBTableModelのデータチェックを行う場合、エラーの最大件数をこの値に設定します。 エラー最大件数がこの値を超えると、処理を打ち切ります。 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を指定します (初期値:VIEW_DISPLAY_MSG[=])。
      パラメータ:
      id - 処理結果表示メッセージID
      変更履歴:
      6.2.0.0 (2015/02/27) リクエスト変数を使用できるように修正。
      説明:
      ここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は、displayMsg = "" をセットしてください。 (初期値:システム定数のVIEW_DISPLAY_MSG[=])。
    • setOverflowMsg

      public void setOverflowMsg(String id)
      【TAG】読取データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。
      パラメータ:
      id - 検索数オーバー時メッセージID
      変更履歴:
      6.2.0.0 (2015/02/27) オーバーフロー時のメッセージを表示
      説明:
      読取結果が、maxRowCount で設定された値より多い場合、何らかのデータは読取されず 切り捨てられたことになります。 ここでは、displayMsg を表示した後、必要に応じて、このメッセージを表示します。 表示させたくない場合は、overflowMsg = "" をセットしてください。 初期値は、MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]です。
    • 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 する事が可能になります。
    • setNullBreakClm

      public void setNullBreakClm(String clm)
      【TAG】ここに指定されたカラム列に NULL が現れた時点で読取を中止します。
      パラメータ:
      clm - カラム列
      変更履歴:
      5.5.8.2 (2012/11/09) 新規追加
      説明:
      これは、指定のカラムは必須という事を条件に、そのレコードだけを読み取る処理を行います。 複数Sheetの場合は、次のSheetを読みます。 現時点では、Excel の場合のみ有効です。
    • setNullSkipClm

      public void setNullSkipClm(String clm)
      【TAG】ここに指定されたカラム列に NULL が現れたレコードは読み飛ばします。
      パラメータ:
      clm - カラム列
      変更履歴:
      6.2.3.0 (2015/05/01) 行読み飛ばし nullSkipClm追加
      説明:
      例えば、更新対象カラムで、null の場合は、何もしない、などのケースで使用できます。 複数カラムの場合は、AND条件やOR条件などが、考えられるため、 カラムを一つにまとめて、指定してください。
    • setColumns

      public void setColumns(String clms)
      【TAG】読取元ファイルのカラム列を、外部(タグ)より指定します。
      パラメータ:
      clms - 読取元ファイルのカラム列 (CSV形式)
      変更履歴:
      3.5.4.5 (2004/01/23) 新規作成
      説明:
      読取元ファイルのカラム列を、外部(タグ)より指定します。 ファイルに記述された #NAME より優先して使用されます。 これは、元ファイルのカラムを順番に指定のカラム名に割り当てる機能で ファイルの特定のカラム列を抜き出して取り込む機能ではありません。 ※ 7.2.6.0 (2020/06/30) readerClass="POI"の場合、TEXT(テキスト)、CMNT(コメント)の位置は変えられません。 また、カラム数も、必ず、2以上必要です。 それより多い場合は、null値のカラムが作成されます。
    • setOmitNames

      public void setOmitNames(String clms)
      【TAG】読取対象外のカラム列を、外部(タグ)よりCSV形式で指定します。
      パラメータ:
      clms - 読取対象外のカラム列 (CSV形式)
      変更履歴:
      6.1.0.0 (2014/12/26) omitNames 属性を追加, 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。
      説明:
      指定するカラム名に対して、読取処理を行いません。 ここで指定するカラム名は、ファイルの #NAME または、columns で 指定するカラム名に対して、含まれている必要はありません。 その場合は、ここでの指定は無視されます。
    • addOmitNames

      protected void addOmitNames(String omit)
      読取対象外のカラム列を、追加指定します。 内部的な処理で、DirectTableInsertTag で、WRITABLE,ROWID などの データベースに存在しないカラムを、omit するための機能です。 属性定義してもよいのですが、統一的な処理方法が決まらないので、 取りあえず、暫定的に、サブクラスからのみ、して可能にしておきます。 このメソッドは、setOmitNames( String ) が呼び出された後でしか 有効に機能しません。
      パラメータ:
      omit - 読取対象外の追加カラム列 (CSV形式)
      変更履歴:
      6.2.4.0 (2015/05/15) 無条件でOMITする名称を指定します。
    • setCheckColumns

      public void setCheckColumns(String clms)
      【TAG】読取元ファイルの整合性チェックを行うカラム列をカンマ指定します。
      パラメータ:
      clms - 整合性チェックを行うカラム列 (CSV形式)
      変更履歴:
      3.6.0.2 (2004/10/04) 新規追加 取込時チェック用, 3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。, 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。
      説明:
      カラムオブジェクトのDBType属性に対応したチェックを行います。 指定のカラム名をCSV形式(CSV)で複数指定できます。 全てのカラムのチェックを行う場合は、"*" を指定して下さい。 分解方法は、通常のパラメータ取得後に、CSV分解します。
    • setUseStrict

      public void setUseStrict(String flag)
      【TAG】整合性チェック時に、厳密にチェックするかどうか[true/false]を指定します(初期値:true)。
      パラメータ:
      flag - 厳密チェックか [true:厳密/false:甘い]
      変更履歴:
      7.3.2.0 (2021/03/19) isStrict:整合性チェック時に、厳密にチェックするかどうか[true/false]追加(初期値:true)
      説明:
      checkColumnsで、読取元ファイルの整合性チェックを行う際に、厳密なチェックを行うかどうかを指定します。 従来は、厳密なチェックのみでしたが、動的に作成したカラムで、DB登録に無関係な場合は、 official(カラムリソースから作成されたかどうか)が」falseになり、必ずエラーになっていました。 isStrict=false を指定すると、甘い目でカラムチェックすると同時に、official チェックも行いません。 初期値は、互換性を考慮して、true になります。
    • setAdjustColumns

      public void setAdjustColumns(String clms)
      【TAG】読取元ファイルのデータ変換を行うカラム列をカンマ指定します。
      パラメータ:
      clms - データ変換を行うカラム列 (CSV形式)
      変更履歴:
      3.6.0.2 (2004/10/04) 新規追加 取込時データ変換, 3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。, 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。
      説明:
      カラムオブジェクトのDBType属性に対応したデータ変換を行います。 指定のカラム名をCSV形式(CSV)で複数指定できます。 全てのカラムをデータ変換する場合は、"*" を指定して下さい。 分解方法は、通常のパラメータ取得後に、CSV分解します。
    • setNullCheck

      public void setNullCheck(String clms)
      【TAG】NULL チェックすべきカラム列をCSV形式(CSV形式)で指定します。
      パラメータ:
      clms - カラム列(CSV形式)
      変更履歴:
      3.8.0.2 (2005/06/30) 新規追加, 3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。, 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。
      説明:
      nullCheck="AAA,BBB,CCC,DDD" 分解方法は、通常のパラメータ取得後に、CSV分解します。
    • setUseNumber

      public void setUseNumber(String useNo)
      【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)。
      パラメータ:
      useNo - 行番号情報 [true:使用する/false:使用しない]
      変更履歴:
      3.7.0.5 (2005/04/11) 新規追加
      説明:
      通常のフォーマットでは、各行の先頭に行番号が出力されています。 読取時に、#NAME 属性を使用する場合は、この行番号を無視しています。 #NAME 属性を使用せず、columns 属性でカラム名を指定する場合(他システムの 出力ファイルを読み取るケース等)では、行番号も存在しないケースがあり、 その様な場合に、useNumber="false" を指定すれば、データの最初から読取始めます。 この場合、出力データのカラムの並び順が変更された場合、columns 属性も 指定しなおす必要がありますので、できるだけ、#NAME 属性を使用するように してください。 なお、EXCEL 入力には、この設定は適用されません。(暫定対応) 初期値は、true(使用する) です。
    • setUseRepeatClms

      public void setUseRepeatClms(String useRepeat)
      【TAG】読取処理で横持ちデータの繰り返しが存在する場合に、trueを指定します(初期値:false)。
      パラメータ:
      useRepeat - 横持ちデータの繰り返し [true:使用する/false:使用しない]
      変更履歴:
      7.3.0.0 (2021/01/06) 横持ちデータの繰り返し対応。
      説明:
      データを取り込む際、1行に繰り返しカラムが存在する場合に、true に設定します。 例えば、注文番号,品番,納期1,数量1,納期2,数量2…納期31,数量31,備考 のようなデータ形式です。 これを、 注文番号,品番,備考,納期1,数量1 注文番号,品番,備考,納期2,数量2 ・・・ 注文番号,品番,備考,納期31,数量31 のように、縦型のデータに変更します。 繰り返しカラムの廃位を [] で囲います。先の例でいうと、 注文番号,品番,[納期1,数量1],[納期2,数量2]…[納期31,数量31],備考 になります。 従来の取込と同じく、カラムが空欄(,,,,などと指定)の場合は、読み飛ばします。 なお、[] で囲われていないカラムは、固定カラムで、繰り返しカラムより前に来ます。 先の例でいうと、備考は、品番の次に来ます。 繰り返しカラムの指定は、1度だけできます。複数の繰り返しカラムには対応していません。 初期値は、false(使用しない) です。
    • setStopZero

      public void setStopZero(String flag)
      【TAG】読込件数が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。
      パラメータ:
      flag - 0件時停止可否 [true:処理を中止する/false:続行する]
      変更履歴:
      4.3.7.0 (2009/06/01) 新規追加
      説明:
      初期値は、false(続行する)です。
    • setMainTrans

      public void setMainTrans(String flag)
      【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。
      パラメータ:
      flag - メイントランザクションかどうか [true:メイン/false:その他]
      変更履歴:
      5.1.6.0 (2010/05/01) 新規作成
      説明:
      この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
    • setSkipRowCount

      public void setSkipRowCount(String count)
      【TAG】(通常は使いません)データの読み飛ばし件数を設定します。
      パラメータ:
      count - 読み始めの初期値
      変更履歴:
      5.1.6.0 (2010/05/01) 新規作成
      説明:
      TAB区切りテキストやEXCEL等のデータの読み始めの初期値を指定します。 ファイルの先頭行が、0行としてカウントしますので、設定値は、読み飛ばす 件数になります。(1と指定すると、1件読み飛ばし、2行目から読み込みます。) 読み飛ばしは、コメント行などは、無視しますので、実際の行数分読み飛ばします。 #NAME属性や、columns 属性は、有効です。
    • setUseRenderer

      public void setUseRenderer(String flag)
      【TAG】読取処理でKEY:VAL形式のコードリソースから、KEYを取り出す処理を行うかどうかを指定します (初期値:USE_TABLE_READER_RENDERER[=])。
      パラメータ:
      flag - ラベル逆変換を行うかどうか [true:行う/false:行わない]
      関連項目:
      変更履歴:
      5.2.1.0 (2010/10/01) 新規作成, 6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。
      説明:
      TableWriter_Renderer 系のクラスで出力した場合は、コードリソースがラベルで出力されます。 そのファイルを読み取ると、当然、エラーになります。 ここでは、コードリソースのカラムに対して、ラベルからコードを求める逆変換を行うことで、 Renderer 系で出力したファイルを取り込むことができるようにします。 ここでは、TableWriter 系と同様に、TableReader_Renderer 系のクラスを作るのではなく、 属性値のフラグで、制御します。 将来的には、TableWriter 系も廃止して、同様のフラグで制御するように変更する予定です。 (初期値:システム定数のUSE_TABLE_READER_RENDERER[=])。
    • setMatchKeys

      public void setMatchKeys(String keys)
      【TAG】matchKeysをCSV形式で指定します。
      パラメータ:
      keys - カラム列(CSV形式文字)
      関連項目:
      変更履歴:
      6.4.6.0 (2016/05/27) 新規追加
      説明:
      ファイルから特定の行のみを読み取るためのmatchKeysを指定します。 matchKeysで指定したカラムに対して、matchValsの正規表現でチェックします。 何も指定しない場合は、読取対象になります。 matchVals と個数を合わせてください。
    • setMatchVals

      public void setMatchVals(String vals)
      【TAG】matchValsをCSV形式で指定します。
      パラメータ:
      vals - カラム列に対する正規表現(CSV形式文字)
      関連項目:
      変更履歴:
      6.4.6.0 (2016/05/27) 新規追加
      説明:
      ファイルから特定の行のみを読み取るためのmatchValsを指定します。 matchKeysで指定したカラムに対して、matchValsの正規表現でチェックします。 この機能はTableReader_Defaultのみ有効です。 何も指定しない場合は、読取対象になります。 matchKeys と個数を合わせてください。
    • setUseSLabel

      public void setUseSLabel(String prm)
      【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
      prm - SLABEL利用 [true:利用する/false:利用しない]
      変更履歴:
      7.0.7.0 (2019/12/13) 新規追加
      説明:
      通常のエラーメッセージは、ラベル(長)が使われますが、これをラベル(短)を使いたい場合に、true にセットします。 ここでのラベル(短)は、タグ修飾なしの、ラベル(短)です。 標準はfalse:利用しない=ラベル(長)です。 true/false以外を指定した場合はfalse扱いとします。 ラベルリソースの概要説明があれば表示しますが、useSLabel="true" 時は、概要説明を表示しません。
    • setUseLocal

      public void setUseLocal(String flag)
      【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false)。
      パラメータ:
      flag - ローカル環境のみ [true:ローカルのみ/false:設定どおり]
      変更履歴:
      8.0.1.0 (2021/10/29) useLocal 属性を追加。
      説明:
      クラウド設定は、システム定数の『CLOUD_TARGET』と『CLOUD_BUCKET』の設定で自動的に使用しますが、 どうしてもローカルでのみ使いたい場合は、この属性を true に設定します。 標準はfalse:設定どおりとなります。 true/false以外を指定した場合はfalse扱いとします。
    • toString

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