001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.hayabusa.taglib; 017 018import java.util.Map; 019import java.util.Set; // 6.4.3.4 (2016/03/11) 020 021import org.opengion.fukurou.util.StringUtil; 022import org.opengion.fukurou.util.ToString; // 6.1.1.0 (2015/01/17) 023import org.opengion.fukurou.util.ArraySet; // 6.4.3.4 (2016/03/11) 024import org.opengion.hayabusa.common.HybsSystem; 025import org.opengion.hayabusa.common.HybsSystemException; 026import org.opengion.hayabusa.db.DBColumn; 027import org.opengion.hayabusa.db.DBColumnConfig; 028import org.opengion.hayabusa.db.DBTableModel; 029import org.opengion.hayabusa.resource.CodeData; 030import org.opengion.hayabusa.resource.LabelData; 031import static org.opengion.fukurou.util.StringUtil.nval; 032 033/** 034 * 検索結果のカラムに対して様々な属性を付加するタグです。 035 * 036 * このタグでは、カラムリソースの属性を再設定できます。検索結果(DBTableModel) 037 * には、カラムオブジェクト(DBColumn)を持っています。このオブジェクトは、 038 * カラムリソースで設定した値を持っています。その個々の値を再設定することで、 039 * カラムオブジェクトの属性をその都度設定しなおすことができます。 040 * 最もよく使用するのは、must 属性の設定と、DBMENU エディターの設定です。 041 * must属性は、予め必須項目として指定することが出来ない為、画面毎に再設定が 042 * 必要です。ただし、ここでのmust属性は、カラムの表示色を変更するだけで、 043 * 実際のnullチェックは、columnCheck タグのnullCheck属性で指定します。 044 * DBMENU エディターは、データベースの属性から選択リストを作成する機能ですが、 045 * これも、マスタ登録時は、テキストフィールドで入力し、使用時は、選択するケース 046 * の様に、画面毎に異なる形式で使用したい場合があるためです。 047 * このタグでは、カラムオブジェクトの属性以外に、HTMLの属性を付加する事も 048 * できます。 049 * 050 * 6.7.6.0 (2017/03/17) [strictCheck属性]は、カラムIDの存在チェックを行うかどうかを指定します(初期値:true) 051 * true カラムIDがDBTableModel に存在しない場合は、エラーになる。 052 * false カラムIDがDBTableModel に存在しない場合は、無視する。 053 * 054 * @og.formSample 055 * ●形式:<og:ColumnEditor column="・・・" ・・・ > ・・・ </og:ColumnEditor > 056 * ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) 057 * 058 * ●Tag定義: 059 * <og:columnEditor 060 * column 【TAG】カラム名をセットします 061 * columns 【TAG】カラム名をCSV形式で複数セットします 062 * label 【TAG】ラベルリソースに定義されたラベルIDをセットします 063 * className 【TAG】カラムのクラス名(VARCHAR2,NUMBER など)をセットします。既存値:設定値対応 064 * size 【HTML】カラムの入力枠サイズをセットします(大きさだけで入力文字制限ではありません) 065 * viewSize 【TAG】カラムの表示サイズ(横幅)を文字数でセットします。 066 * maxlength 【HTML】カラムの入力文字制限数をセットします 067 * writable 【TAG】カラムが書き込み可能かどうか[true/false]をセットします(初期値:null) 068 * renderer 【TAG】カラムの表示用レンデラー({@og.doc03Link renderer Renderer_****})をセットします。既存値:設定値対応 069 * editor 【TAG】カラムの編集用エディター({@og.doc03Link editor Editor_****})をセットします。既存値:設定値対応 070 * dbType 【TAG】DBタイプ({@og.doc03Link dbType DBType_****})をセットします。既存値:設定値対応 071 * codeName 【TAG】コードセレクトのユニークキー(コード名称)をセットします 072 * codeList 【TAG】コードセレクトのサブセットとなるコードをCSV形式で指定します 073 * codeGroup 【TAG】コードセレクトのサブセットとなるグループを指定します 074 * codeKeyVal 【TAG】新しいコードセレクトを作成する為の「キー:ラベル キー:ラベル」の文字列を指定します 075 * defaultVal 【TAG】初期値をセットします 076 * param 【TAG】パラメータをセットします 077 * roles 【TAG】ロールをセットします 078 * must 【TAG】必須入力を表す色に変えるかどうか[true/false]を指定します(初期値:false) 079 * mustAny 【TAG】選択必須入力(どれかひとつ必須)を表す色[true/mustAny/その他]を指定します(初期値:無指定) 080 * optionAttributes 【TAG】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します 081 * addNoValue 【TAG】セレクトメニューの値なしのOptionの有無[true/false]を指定します(初期値:falseと同等) 082 * addKeyLabel 【TAG】セレクトメニューの場合、キー:ラベル形式で表示するかどうか[true/false/null]を指定します(初期値:null) 083 * writeKeyLabel 【TAG】セレクトメニューの場合、キーとラベルを分けて出力するかどうか[true/false]を指定します(初期値:false) 084 * useLabelMap 【TAG】SQL文を指定してラベル情報を動的に読み込むかどうか[true/false]指定します(初期値:false) 085 * useSLabel 【TAG】MENU,DBMENUでSLABELを利用するかどうか[auto/true/false]を指定します(初期値:null) 086 * noDisplayVal 【TAG】指定の値を非表示にします(レンデラーのみ有効)(初期値:null) 087 * scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) 088 * tableId 【TAG】(通常は使いません)sessionから所得する DBTableModelオブジェクトの ID(初期値:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}]) 089 * dbid 【TAG】(通常は使いません)データベースへ接続する場合のID(初期値:null) 090 * caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 091 * caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 092 * caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) 093 * caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 094 * caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) 095 * lang 【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します 096 * style 【HTML】この要素に対して適用させるスタイルシート(style)を設定します 097 * clazz 【HTML】要素に対して class 属性を設定します 098 * readonly 【HTML】その部品に対して変更が出来ないように(readonly)指定します(サーバーに送信される) 8.4.3.0 (2023/03/31) 099 * disabled 【HTML】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない) 8.4.3.0 (2023/03/31) 100 * onClick 【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');") 101 * onChange 【HTML】JavaScriptのイベント onChange を設定します(例:onChange="renew('query.jsp','QUERY');") 102 * onBlur 【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();") 103 * onFocus 【HTML】JavaScriptのイベント onFocus を設定します 104 * ondblClick 【HTML】JavaScriptのイベント ondblClick を設定します 105 * onMouseDown 【HTML】JavaScriptのイベント onMouseDown を設定します 106 * onMouseUp 【HTML】JavaScriptのイベント onMouseUp を設定します 107 * onMouseMove 【HTML】JavaScriptのイベント onMouseMove を設定します 108 * onMouseOut 【HTML】JavaScriptのイベント onMouseOut を設定します 109 * onMouseOver 【HTML】JavaScriptのイベント onMouseOver を設定します 110 * onSelect 【HTML】JavaScriptのイベント onSelect を設定します 111 * onKeydown 【HTML】JavaScriptのイベント onKeydown を設定します 112 * onKeypress 【HTML】JavaScriptのイベント onKeypress を設定します 113 * onKeyup 【HTML】JavaScriptのイベント onKeyup を設定します 114 * autocomplete 【HTML5】入力候補を提示して入力内容を自動補完する[on/off](初期値はon) 115 * autofocus 【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます 116 * pattern 【HTML5】正規表現で入力値のパターンを指定します 117 * placeholder 【HTML5】入力欄に初期表示する内容を指定します 118 * required 【HTML5】入力必須を指定します 119 * list 【HTML5】ユーザーに入力候補として提案するデータリストの要素のid属性の値を指定します 120 * min 【HTML5】入力欄で入力できる最小値を指定します 121 * max 【HTML5】入力欄で入力できる最大値を指定します 122 * step 【HTML5】入力欄で刻むステップ値を指定する 123 * type 【HTML5】HTML5追加分[text/search/tel/url/email/datetime/date/month/week/time/datetime-local/number/range/color] 124 * eventColumn 【TAG】イベントカラム(親カラム)のセット 125 * eventValue 【TAG】イベントValueのSQL分 126 * eventURL 【TAG】eventColumn利用時に呼ばれるJSPのURL 127 * eventCallback 【TAG】eventColumn実行後のcallbak関数指定を指定します 128 * noResource 【TAG】ResourceManager を使用しないかどうか[true/false]を指定します(初期値:false) 129 * strictCheck 【TAG】(通常は使いません)カラムIDの存在チェックを行うかどうか[true/false]を指定します(初期値:true) 130 * stringOutput 【TAG】レンデラ利用のExcel出力時にセルタイプを文字列にするかどうか(初期値:true) 131 * useRealTimeCheck 【TAG】(通常は使いません)リアルタイムチェックを行うかどうか(初期値:true:行う) 5.9.32.2 (2018/05/18) 132 * useDateFeed 【TAG】日付送り戻し機能を有効にするかどうか[true:有効/false:無効]指定します (初期値:true) 8.1.2.3 (2022/05/20) 133 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) 134 * > ... Body ... 135 * </og:columnEditor> 136 * 137 * ●使用例: 138 * ・必須表示の場合 139 * <og:columnEditor column="NOSYN" must="true" /> 140 * 141 * ・DBからのセレクトメニューの場合 142 * <og:columnEditor column="CDBK" editor="DBMENU"> 143 * select CDBK,CDBK||':'||NMBK from DB02 order by 1 144 * </og:columnEditor> 145 * 146 * ・親子関係のプルダウンを作る場合 147 * ({@xxx.value}で同じ行のxxxカラムで選択した値を取得します) 148 * <og:columnEditor column="CDBK" editor="DBMENU" 149 * eventColumn="OYA"> 150 * select CDBK,CDBK||':'||NMBK from DB02 151 * where CLM = {@OYA.value} order by 1 152 * </og:columnEditor> 153 * 154 * 155 * @og.rev 3.5.1.0 (2003/10/03) 親クラスをCommonTagSupportからHTMLTagSupportに変更。 156 * @og.group 画面表示 157 * 158 * @version 4.0 159 * @author Kazuhiko Hasegawa 160 * @since JDK5.0, 161 */ 162public class ColumnEditorTag extends HTMLTagSupport { 163 /** このプログラムのVERSION文字列を設定します。 {@value} */ 164 private static final String VERSION = "8.5.2.0 (2023/07/14)" ; 165 private static final long serialVersionUID = 852020230714L ; 166 167 // 5.7.1.0 (2013/12/06) HTML5 で新たに追加された、type を追加 168 // 6.3.4.0 (2015/08/01) String から String配列 に置き換え 169 170 // 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。 171 private static final Set<String> TYPE_SET = new ArraySet<>( "text","search","tel","url","email","datetime","date","month","week","time","datetime-local","number","range","color" ); 172 173 private static final String DEFAULT_ADD_NO_VALUE= "true"; // 3.7.0.5 (2005/04/11) 174 175 private transient LabelData labelData ; 176 177 /** 6.4.3.1 (2016/02/12) 取得元が ConcurrentHashMap で返す。 */ 178 private transient Map<String,LabelData> labelMap ; // 6.3.9.0 (2015/11/06) transient 追加 179 180 /** DBTableModelオブジェクトのID */ 181 private String tableId = HybsSystem.TBL_MDL_KEY; 182 /** 複数のカラム名 */ 183 private String[] columns ; // 3.7.0.5 (2005/04/11) 184 /** 全カラムの指定有無 */ 185 private boolean allColumns ; // 3.8.8.5 (2007/03/09) 186 /** カラムのクラス名 */ 187 private String className ; 188 /** 入力枠サイズ(横幅) */ 189 private String fieldSize ; // 6.2.0.0 (2015/02/27) 190 /** 表示サイズ(横幅) */ 191 private String viewSize ; // 6.2.0.0 (2015/02/27) 192 /** 最大入力文字数 */ 193 private String maxlength ; // 3.5.5.5 (2004/04/23) 194 /** 書き込み/ラベルを指定する */ 195 private String writable ; 196 /** カラムの表示用レンデラー */ 197 private String renderer ; 198 /** カラムの編集用エディター */ 199 private String editor ; 200 /** カラムのDBタイプ */ 201 private String dbType ; 202 /** コードセレクトのユニークキー */ 203 private String codeName ; // 3.5.5.7 (2004/05/10) 204 /** Codeリソースのサブセット */ 205 private String codeList ; // 5.1.9.0 (2010/08/01) 206 /** Codeリソースのサブセットとなるグループ */ 207 private String codeGroup ; // 5.1.9.0 (2010/08/01) 208 /** 新しいコードセレクトを作成する為の KEY:VAL 文字列 */ 209 private String codeKeyVal ; // 6.3.1.1 (2015/07/10) 210 /** value がセットされていないときの初期値 */ 211 private String defaultVal ; 212 /** パラメータ */ 213 private String parameter ; 214 /** データベースへ接続する場合のID */ 215 private String dbid ; 216 /** 値なしのOptionをSelectに含めるかどうか */ 217 private String addNoValue ; // 3.5.5.9 (2004/06/07) 218 /** キー:ラベル形式で表示するかどうか */ 219 private String addKeyLabel ; // 6.0.4.0 (2014/11/28) 220 /** セレクトメニューの場合、キーとラベルを分けて出力するかどうか */ 221 private boolean writeKeyLabel ; // 6.2.3.0 (2015/05/01) 222 223 /** 親カラムの指定 */ 224 private String eventColumn ; // 4.3.6.0 (2009/04/01) 225 /** イベントカラムの初期値 */ 226 private String eventValue ; // 6.3.4.0 (2015/08/01) 227 /** 生パラメータ */ 228 private String rawParameter ; // 4.3.6.0 (2009/04/01) 229 /** eventColumnで飛ばすURL */ 230 private String eventURL ; // 4.3.6.0 (2009/04/01) 231 232 /** ラベルデータの動的取得に対応 */ 233 private boolean useLabelMap ; // 4.3.4.0 (2008/12/01) 234 /** MENU,DBMENUでSLABELを利用するかどうか */ 235 private String useSLabel ; // 5.6.2.3 (2013/03/22) 236 /** 非表示文字の設定 */ 237 private String noDisplayVal ; // 5.6.2.3 (2013/03/22) 238 239 /** ResourceManager を使用しないかどうか[true/false] */ 240 private boolean noResource ; // 5.7.3.0 (2014/02/07) 241 /** カラムIDの存在チェックを行うかどうか */ 242 private boolean strictCheck = true; // 6.7.6.0 (2017/03/17) 243 244 /** レンデラ利用時のExcel出力でセルタイプを文字固定にするか[true/false] */ 245 private boolean stringOutput = HybsSystem.sysBool( "USE_STRING_EXCEL_OUTPUT" ); // 5.7.6.3 (2014/05/23) 246 /** 日付送り戻し機能の有効/無効 */ 247 private boolean useDateFeed = true; // 8.1.2.3 (2022/05/20) 248 249 /** 250 * デフォルトコンストラクター 251 * 252 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 253 */ 254 public ColumnEditorTag() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 255 256 /** 257 * Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。 258 * 259 * @og.rev 3.1.0.0 (2003/03/20) DBColumnConfig#getColumnConfig() メソッド廃止 260 * @og.rev 3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。 261 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応。ボディが存在する場合のみボディが呼ばれる対応。 262 * @og.rev 3.5.1.0 (2003/10/03) 親クラスをCommonTagSupportからHTMLTagSupportに変更。 263 * @og.rev 3.5.5.5 (2004/04/23) 入力欄の大きさを指定する viewSize 属性を追加。 264 * @og.rev 3.5.5.7 (2004/05/10) CodeSelection を、codeName を元に構築できるように設定します。 265 * @og.rev 3.5.5.9 (2004/06/07) addNoValue が、設定された場合のみ、config に設定します 266 * @og.rev 3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加 267 * @og.rev 5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 268 * 269 * @return 後続処理の指示( EVAL_BODY_BUFFERED ) 270 */ 271 @Override 272 public int doStartTag() { 273 // 5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 274 if( useTag() ) { 275 if( "DBMENU".equalsIgnoreCase(editor) ) { 276 className = "VARCHAR2"; 277 renderer = "DBMENU"; 278 editor = "DBMENU"; 279 280 if( addNoValue == null ) { 281 addNoValue = DEFAULT_ADD_NO_VALUE ; 282 } 283 } 284 285 return EVAL_BODY_BUFFERED ; 286 } 287 return SKIP_BODY ; // Body を評価しない 288 } 289 290 /** 291 * Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。 292 * 293 * @og.rev 2.3.1.3 (2003/02/08) ラベル、サイズのみでも変更できるように修正 294 * @og.rev 3.0.0.1 (2003/02/14) DBMENU作成時に、ラベルの最後のスペースを除去する。 295 * @og.rev 3.1.0.0 (2003/03/20) DBColumnConfig#getColumnConfig() メソッド廃止 296 * @og.rev 3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。 297 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応。ボディが存在する場合のみボディが呼ばれる対応。 298 * @og.rev 3.5.0.0 (2003/09/17) キー、ラベルともに、""(ダブルコーテーション)で囲うように変更。 299 * @og.rev 3.5.5.7 (2004/05/10) このタグでSQLを発行するのではなく、DBMENU の DBColumnを作成する。 300 * @og.rev 3.5.5.9 (2004/06/07) addNoValue が null の場合は、初期値を設定します。 301 * @og.rev 3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加 302 * @og.rev 3.8.6.3 (2006/11/30) SQL 文の前後のスペースを取り除きます。 303 * @og.rev 4.3.4.0 (2008/12/01) ラベルデータの動的取得に対応します。 304 * @og.rev 4.3.6.0 (2009/04/01) イベントカラム対応 305 * @og.rev 5.1.7.0 (2010/06/01) 動的プルダウン実装見直し 306 * @og.rev 5.5.4.0 (2012/07/02) 予約語対応 307 * @og.rev 6.3.1.1 (2015/07/10) BodyString,BodyRawStringは、CommonTagSupport で、trim() します。 308 * @og.rev 6.4.0.5 (2016/01/09) useLabelMap="true" 時のSQL文の実行は、dbid を使用して行う。 309 * 310 * @return 後続処理の指示(SKIP_BODY) 311 */ 312 @Override 313 public int doAfterBody() { 314 final String sql = getBodyString(); 315 if( sql != null && sql.length() > 0 ) { 316 if( useLabelMap ) { 317 // 6.4.0.5 (2016/01/09) useLabelMap="true" 時のSQL文の実行は、dbid を使用して行う。 318 labelMap = getResource().getLabelMap( sql.trim() , dbid ); // 4.3.4.0 (2008/12/01) 319 } 320 else { 321 if( eventColumn != null && eventColumn.length() >0 ){ // 4.3.6.0 (2009/04/01) 322 rawParameter = getReservedParameter( getBodyRawString() ); // 6.3.1.1 (2015/07/10) 323 } 324 parameter = sql.trim() ; 325 } 326 } 327 328 return SKIP_BODY ; 329 } 330 331 /** 332 * Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 333 * 334 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 335 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応。ボディが存在する場合のみボディが呼ばれる対応。 336 * @og.rev 3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加 337 * @og.rev 3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加 338 * @og.rev 4.1.2.1 (2008/03/13) must , mustAny 属性を自動化します。 339 * @og.rev 4.3.4.0 (2008/12/01) カラム指定のワイルドカード対応 340 * @og.rev 5.2.1.0 (2010/10/01) must , mustAny 属性の処理を、HTMLTagSupport に移します。 341 * @og.rev 5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 342 * @og.rev 6.7.6.0 (2017/03/17) strictCheck 追加。 343 * @og.rev 6.8.1.4 (2017/08/25) must="false"で、config.setEditorAttributes で、属性を追加するようになった為の取り消しの対応。 344 * 345 * @return 後続処理の指示 346 */ 347 @Override 348 public int doEndTag() { 349 debugPrint(); // 4.0.0 (2005/02/28) 350 // 5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 351 if( !useTag() ) { return EVAL_PAGE; } 352 353 final DBTableModel table = (DBTableModel)getObject( tableId ); 354 if( table == null ) { return EVAL_PAGE; } 355 356 if( columns != null ) { 357 // 3.8.8.5 (2007/03/09) 全カラム が指定 358 final String mustType = getMustType(); // 5.2.1.0 (2010/10/01) 359 if( allColumns ) { 360 final int len = table.getColumnCount(); 361 for( int i=0; i<len; i++ ) { 362 363 // 4.3.4.0 (2008/12/01) 364 final DBColumn dbColumn = table.getDBColumn( i ); 365 for( int j=0; j<columns.length; j++ ) { 366 final String prefix = columns[j].replace( "*", "" ); 367 if( dbColumn.getName().indexOf( prefix ) == 0 ) { // 前方一致のみ対応 368 // 6.8.1.4 (2017/08/25) must="false"で、config.setEditorAttributes で、属性を追加するようになった為の取り消しの対応。 369 final DBColumnConfig config = getModifyConfig( dbColumn ); 370 371 // 4.1.2.1 (2008/03/13) 372 if( mustType != null ) { 373 table.addMustType( i,mustType ); 374 // 6.8.1.4 (2017/08/25) must="false" で、must の取り消し 375 if( "false".equalsIgnoreCase( mustType ) ) { 376 config.removeEditorAttributes( "class" , "must" ); 377 } 378 } 379 380 table.setDBColumn( i,new DBColumn( config ) ); 381 382 break; 383 } 384 } 385 } 386 } 387 else { 388 for( int i=0; i<columns.length; i++ ) { 389 final int clmNo = table.getColumnNo( columns[i],strictCheck ); // 6.7.6.0 (2017/03/17) 390 if( clmNo < 0 ) { continue; } // 6.7.6.0 (2017/03/17) 391 392 final DBColumn dbColumn = table.getDBColumn( clmNo ); 393 394 final DBColumnConfig config = getModifyConfig( dbColumn ); 395 // 6.8.1.4 (2017/08/25) must="false"で、config.setEditorAttributes で、属性を追加するようになった為の取り消しの対応。 396 397 // 4.1.2.1 (2008/03/13) 398 if( mustType != null ) { 399 table.addMustType( clmNo,mustType ); 400 // 6.8.1.4 (2017/08/25) must="false" で、must の取り消し 401 if( "false".equalsIgnoreCase( mustType ) ) { 402 config.removeEditorAttributes( "class" , "must" ); 403 } 404 } 405 406 table.setDBColumn( clmNo,new DBColumn( config ) ); 407 } 408 } 409 } 410 411 return EVAL_PAGE ; 412 } 413 414 /** 415 * タグ文字列を作成します。 416 * 417 * ColumnEditor としては、HTMLTagSupport を継承しているため、 418 * このメソッドを定義する必要がありますが、内部的には使用していません。 419 * 各種属性は、入力する必要がある為、継承しているだけです。 420 * このクラスでは、このメソッドは、使われておりません。 421 * 422 * @og.rev 3.5.1.0 (2003/10/03) 新規追加 423 * 424 * @return タグ文字列(常に null を返す) 425 */ 426 @Override 427 protected String makeTag() { 428 return null; 429 } 430 431 /** 432 * タグリブオブジェクトをリリースします。 433 * 434 * キャッシュされて再利用されるので、フィールドの初期設定を行います。 435 * 436 * @og.rev 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 437 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 438 * @og.rev 3.5.1.0 (2003/10/03) 親クラスをCommonTagSupportからHTMLTagSupportに変更。 439 * @og.rev 3.5.5.5 (2004/04/23) 入力欄の大きさを指定する viewSize 属性を追加。 440 * @og.rev 3.5.5.7 (2004/05/10) codeName 属性を追加。 441 * @og.rev 3.5.5.9 (2004/06/07) addNoValue 属性を修正。 442 * @og.rev 3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加 443 * @og.rev 3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加 444 * @og.rev 4.1.2.1 (2008/03/13) must , mustAny 属性を自動化します。 445 * @og.rev 4.3.4.0 (2008/12/01) ラベルデータの動的取得に対応します。 446 * @og.rev 5.1.9.0 (2010/08/01) codeList , codeGroup 属性を追加。(Codeリソースのサブセット) 447 * @og.rev 5.2.1.0 (2010/10/01) must , mustAny 属性の処理を、HTMLTagSupport に移します。 448 * @og.rev 5.6.2.3 (2013/03/22) useSLabel 属性を追加。(MENU,DBMENUでSLABELを利用するかどうか) 449 * @og.rev 5.6.2.3 (2013/03/22) 非表示文字の設定。noDisplayVal 属性を追加。 450 * @og.rev 5.7.3.0 (2014/02/07) noResource 属性を追加。ResourceManager を使用しないかどうか 451 * @og.rev 5.7.6.3 (2014/05/23) stringOutput追加 452 * @og.rev 6.0.4.0 (2014/11/28) addKeyLabel 属性を追加 453 * @og.rev 6.2.0.0 (2015/02/27) viewSize 属性の追加 454 * @og.rev 6.2.3.0 (2015/05/01) キー,ラベルで分離して出力するかどうか。writeKeyLabel 属性を追加 455 * @og.rev 6.3.1.1 (2015/07/10) codeKeyVal 属性を追加 456 * @og.rev 6.3.4.0 (2015/08/01) eventValue 追加 457 * @og.rev 6.7.6.0 (2017/03/17) strictCheck 追加 458 * @og.rev 8.1.2.3 (2022/05/20) 日付送り戻し不具合対応(useDateFeed 属性追加) 459 */ 460 @Override 461 protected void release2() { 462 super.release2(); 463 tableId = HybsSystem.TBL_MDL_KEY; 464 columns = null; // 3.7.0.5 (2005/04/11) 465 allColumns = false; // 3.8.8.5 (2007/03/09) 466 labelData = null; // 4.0.0 (2005/01/31) 467 className = null; 468 fieldSize = null; // 6.2.0.0 (2015/02/27) 469 viewSize = null; // 6.2.0.0 (2015/02/27) 470 maxlength = null; // 3.5.5.5 (2004/04/23) 471 writable = null; 472 renderer = null; 473 editor = null; 474 dbType = null; 475 codeName = null; // 3.5.5.7 (2004/05/10) 476 codeList = null; // 5.1.9.0 (2010/08/01) 新規追加(Codeリソースのサブセット) 477 codeGroup = null; // 5.1.9.0 (2010/08/01) 新規追加(Codeリソースのサブセット) 478 codeKeyVal = null; // 6.3.1.1 (2015/07/10) 新規追加(新しいコードセレクトを作成する為の KEY:VAL 文字列) 479 defaultVal = null; 480 parameter = null; 481 dbid = null; 482 addNoValue = null; // 3.5.5.9 (2004/06/07) 483 addKeyLabel = null; // 6.0.4.0 (2014/11/28) キー:ラベル形式で表示するかどうか 484 writeKeyLabel = false; // 6.2.3.0 (2015/05/01) キー,ラベルで分離して出力するかどうか 485 useLabelMap = false; // 4.3.4.0 (2008/12/01) 486 useSLabel = null; // 5.6.2.3 (2013/03/22) MENU,DBMENUでSLABELを利用するかどうか 487 noDisplayVal = null; // 5.6.2.3 (2013/03/22) 非表示文字の設定 488 labelMap = null; // 4.3.4.0 (2008/12/01) 489 eventColumn = null; // 4.3.6.0 (2009/04/01) 490 eventValue = null; // 6.3.4.0 (2015/08/01) 491 rawParameter = null; // 4.3.6.0 (2009/04/01) 492 eventURL = null; // 4.3.6.0 (2009/04/01) 493 noResource = false; // 5.7.3.0 (2014/02/07) noResource 属性を追加。 494 strictCheck = true; // 6.7.6.0 (2017/03/17) 495 stringOutput = HybsSystem.sysBool( "USE_STRING_EXCEL_OUTPUT" ); // 5.7.6.3 (2014/05/23) 496 useDateFeed = true; // 8.1.2.3 (2022/05/20) 497 } 498 499 /** 500 * カスタマイズされた DBColumnConfig を作成します。 501 * 502 * DBColumnConfig は、DBColumn より取得します。この DBColumnConfig に、 503 * 属性で指定された値をセットすることで、カスタマイズを行います。 504 * 505 * @og.rev 3.7.0.5 (2005/04/11) 新規追加 506 * @og.rev 4.1.2.1 (2008/03/13) must , mustAny 属性を自動化します。 507 * @og.rev 4.3.4.0 (2008/12/01) ラベルデータの動的取得に対応します。 508 * @og.rev 4.3.6.0 (2009/04/01) evnetColumn対応 509 * @og.rev 5.1.8.0 (2010/07/01) メソッド名変更(setDefValue ⇒ setDefault) 510 * @og.rev 5.1.9.0 (2010/08/01) codeList ,codeGroup 属性を追加(Codeリソースのサブセット) 511 * @og.rev 5.6.2.3 (2013/03/22) useSLabel 属性を追加。(MENU,DBMENUでSLABELを利用するかどうか) 512 * @og.rev 5.6.2.3 (2013/03/22) 非表示文字の設定。noDisplayVal 属性を追加。 513 * @og.rev 5.7.3.0 (2014/02/07) noResource 属性を追加。ResourceManager を使用しないかどうか 514 * @og.rev 5.7.6.2 (2014/05/16) IEのHTML5機能が無効の場合の処理 515 * @og.rev 5.7.6.3 (2014/05/23) stringOutput追加 516 * @og.rev 6.0.4.0 (2014/11/28) addKeyLabel 属性を追加 517 * @og.rev 6.2.0.0 (2015/02/27) viewSize 属性の追加 518 * @og.rev 6.2.3.0 (2015/05/01) maxlength 変数は、0 の場合は、無制限になります。 519 * @og.rev 6.3.1.0 (2015/06/28) 個人リソースのUSE_ADD_KEY_LABELで初期値設定 520 * @og.rev 6.3.1.1 (2015/07/10) codeKeyVal 属性を追加 521 * @og.rev 6.3.4.0 (2015/08/01) eventValue 追加 522 * @og.rev 5.9.18.1 (2017/03/24) DATALIST_R用のIEのHTML5機能が無効の場合の処理を追加 523 * @og.rev 8.5.2.0 (2023/07/14) 一部の機能廃止による修正(問合・トラブル 0200010980) 524 * 525 * @param dbColumn カラムオブジェクト 526 * 527 * @return カスタマイズされた DBColumnConfig 528 */ 529 private DBColumnConfig getModifyConfig( final DBColumn dbColumn ) { 530 // 5.7.3.0 (2014/02/07) noResource 属性を追加 531 if( noResource ) { 532 labelData = new LabelData( dbColumn.getName() ); 533 renderer = "LABEL"; 534 } 535 536 final DBColumnConfig config = dbColumn.getConfig(); 537 538// // 5.7.6.2 (2014/05/16) IEのHTML5機能が無効の場合の処理 8.5.2.0 (2023/07/14) Delete 539// final String ieHTML5 = (String)getSessionAttribute( HybsSystem.IE_HTML5_KEY ); 540// if( "FALSE".equalsIgnoreCase( ieHTML5 ) ) { 541// if( "DATALIST".equalsIgnoreCase( editor ) || 542// "DATALIST".equalsIgnoreCase( config.getEditor() ) ) { 543// editor = "INDBMENU"; 544// } 545// // 5.9.18.1 (2017/03/24) IEのHTML5機能が無効の場合の処理(DATALIST_R用) 546// if( "DATALIST_R".equalsIgnoreCase( editor ) || 547// "DATALIST_R".equalsIgnoreCase( config.getEditor() )){ 548// editor = "INMENU"; 549// } 550// } 551 552 // 6.3.1.0 (2015/06/28) 個人リソースのUSE_ADD_KEY_LABELで初期値設定 553 if( addKeyLabel == null ) { addKeyLabel = nval( sys( "USE_ADD_KEY_LABEL" ) , null ); } // 4:個人設定可 554 555 final String lang = get( "lang" ); // 4.0.0 (2005/01/31) super クラスで受けます。 556 557 if( lang != null ) { config.setLang( lang ); } 558 if( labelData != null ) { config.setLabelData( labelData ); } // 4.0.0 (2005/01/31) 559 if( className != null ) { config.setClassName( className ); } 560 if( fieldSize != null ) { config.setFieldSize( fieldSize ); } // 6.2.0.0 (2015/02/27) メソッド名変更 561 if( viewSize != null ) { config.setViewLength( viewSize ); } // 6.2.0.0 (2015/02/27) 新規追加 562 if( maxlength != null ) { config.setMaxlength( maxlength ); } // 3.5.5.5 (2004/04/23) 563 if( writable != null ) { config.setWritable( writable ); } 564 if( renderer != null ) { config.setRenderer( renderer ); } 565 if( editor != null ) { config.setEditor( editor ); } 566 if( dbType != null ) { config.setDbType( dbType ); } 567 if( defaultVal != null ) { config.setDefault( defaultVal ); } // 5.1.8.0 (2010/07/01) 568 if( parameter != null ) { config.setParameter( parameter ); } 569 if( dbid != null ) { config.setDbid( dbid ); } 570 if( eventColumn != null ) { config.setEventColumn( eventColumn ); } // 4.3.6.0 (2009/04/01) 571 if( eventValue != null ) { config.setEventValue( eventValue ); } // 6.3.4.0 (2015/08/01) 572 if( eventURL != null ) { config.setEventURL( eventURL ); } // 4.3.6.0 (2009/04/01) 573 if( rawParameter != null ){ config.setRawParameter( rawParameter ); } // 4.3.6.0 (2009/04/01) 574 if( useSLabel != null ) { config.setUseSLabel( useSLabel ); } // 5.6.2.3 (2013/03/22) 575 if( noDisplayVal != null ) { config.setNoDisplayVal( noDisplayVal ); } // 5.6.2.3 (2013/03/22) 576 if( addKeyLabel != null ) { config.setAddKeyLabel( addKeyLabel ); } // 6.0.4.0 (2014/11/28) 577 578 if( writeKeyLabel ) { config.setWriteKeyLabel( writeKeyLabel ); } // 6.2.3.0 (2015/05/01) 579 if( !useDateFeed ) { config.setUseDateFeed( useDateFeed ); } // 8.1.2.3 (2022/05/20) 580 581 // 4.0.0 (2005/11/30) ロールを指定 582 final String roles = get( "roles" ); 583 if( roles != null ) { config.setRoles( roles ); } 584 585 // 4.0.0 (2005/01/31) 586 if( codeName != null ) { 587 final CodeData codeData = getResource().getCodeData( codeName ) ; 588 config.setCodeData( codeData ); 589 } 590 591 // codeName で指定のリソースでも、サブセットが作成できます。 592 // 5.1.9.0 (2010/08/01) codeList 属性を追加(Codeリソースのサブセット) 593 if( codeList != null ) { 594 final CodeData codeData = config.getCodeData() ; 595 if( codeData != null ) { 596 config.setCodeData( codeData.subsetList( codeList ) ); 597 } 598 } 599 600 // 5.1.9.0 (2010/08/01) codeGroup 属性を追加(Codeリソースのサブセット) 601 if( codeGroup != null ) { 602 final CodeData codeData = config.getCodeData() ; 603 if( codeData != null && codeData.useGroup() ) { 604 config.setCodeData( codeData.subsetGroup( codeGroup ) ); 605 } 606 } 607 608 // 6.3.1.1 (2015/07/10) 新規追加(新しいコードセレクトを作成する為の KEY:VAL 文字列) 609 if( codeKeyVal != null ) { 610 config.setParameter( codeKeyVal ); 611 config.setRenderer( "KVMENU" ); 612 config.setEditor( "KVMENU" ); 613 } 614 615 // 3.5.5.9 (2004/06/07) 616 // 注意:addNoValue は、互換性の関係で、値が指定された場合のみ、 617 // config に設定します。 618 // editor="DBMENU" が、指定された場合は、addNoValue が指定されていない場合のみ、 619 // 従来との互換性の関係より、このクラスのデフォルト(true)を、config に設定します。 620 if( addNoValue != null ) { 621 // Boolean.parseBoolean は、引数がnullの場合は、falseを返すが、値が設定されている時のみセットするので、nullチェックしている。 622 config.setAddNoValue( Boolean.parseBoolean( addNoValue ) ); // 6.1.0.0 (2014/12/26) refactoring 623 } 624 625 // 3.5.1.0 (2003/10/03) 親クラスをCommonTagSupportからHTMLTagSupportに変更。 626 config.setEditorAttributes( getAttributes() ); 627 628 // 4.3.4.0 (2008/12/01) ラベルデータの動的取得に対応します。 629 if( useLabelMap && labelMap != null ) { 630 final LabelData ldata = labelMap.get( dbColumn.getName() ); 631 if( ldata != null ) { 632 config.setLabelData( ldata ); 633 } 634 } 635 636 // 5.7.6.3 (2014/05/23) 637 config.setStringOutput( stringOutput ); 638 639 return config ; 640 } 641 642 /** 643 * 【TAG】カラム名をセットします。 644 * 645 * @og.tag 646 * カラム名をセットします。 647 * columns と同時にはセットできません。 648 * 値に"*"を指定することで、全カラムを対象とすることができます。 649 * また、"PN*,CDK*"等のように前方一致でのワイルドカード指定も可能です。 650 * 651 * @og.rev 3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加 652 * @og.rev 3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加 653 * 654 * @param clm カラム名 655 */ 656 public void setColumn( final String clm ) { 657 if( columns != null ) { 658 final String errMsg = "columns との同時セットは出来ません。: " + CR 659 + "column=[" + clm + "] , " 660 + "columns=[" + StringUtil.array2csv( columns ) + "]"; 661 throw new HybsSystemException( errMsg ); 662 } 663 final String column = getRequestParameter( clm ); 664 if( column != null && column.length() > 0 ) { 665 columns = new String[] { column }; 666 allColumns = column.indexOf( '*' ) >= 0 ; // 3.8.8.5 (2007/03/09) 667 } 668 } 669 670 /** 671 * 【TAG】カラム名をCSV形式で複数セットします。 672 * 673 * @og.tag 674 * カラム名をセットします。 675 * column と同時にはセットできません。 676 * 分解方法は、通常のパラメータ取得後に、CSV分解します。 677 * 値に"*"を指定することで、全カラムを対象とすることができます。 678 * また、"PN*,CDK*"等のように前方一致でのワイルドカード指定も可能です。 679 * 680 * @og.rev 3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加 681 * @og.rev 3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 682 * @og.rev 3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加 683 * 684 * @param clms カラム名(CSV形式) 685 */ 686 public void setColumns( final String clms ) { 687 if( columns != null ) { 688 final String errMsg = "column との同時セットは出来ません。: " + CR 689 + "column=[" + StringUtil.array2csv( columns ) + "] , " 690 + "columns=[" + clms + "]" ; 691 throw new HybsSystemException( errMsg ); 692 } 693 final String column = nval( getRequestParameter( clms ),null ); 694 if( column != null ) { 695 allColumns = column.indexOf( '*' ) >= 0 ; // 3.8.8.5 (2007/03/09) 696 columns = StringUtil.csv2Array( column ); 697 if( columns.length == 0 ) { columns = null; } 698 } 699 } 700 701 /** 702 * 【TAG】ラベルリソースに定義されたラベルIDをセットします。 703 * 704 * @og.tag 705 * ラベルをセットします。 706 * 707 * @og.rev 2.3.1.2 (2003/01/28) ラベルリソースからラベル名を取得するように修正 708 * @og.rev 4.0.0.0 (2005/01/31) キーより、ラベルデータオブジェクトを取得します。 709 * 710 * @param lbl ラベル 711 */ 712 public void setLabel( final String lbl ) { 713 labelData = getResource().getLabelData( getRequestParameter( lbl ) ) ; // 4.0.0 (2005/01/31) 714 } 715 716 /** 717 * 【TAG】カラムのクラス名(VARCHAR2,NUMBER など)をセットします。 718 * 719 * @og.tag 720 * カラムのクラス名をセットします。 721 * "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 722 * 723 * @og.rev 6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 724 * 725 * @param cls クラス 726 */ 727 public void setClassName ( final String cls ) { 728 className = nval( getRequestParameter( cls ),className ); 729 } 730 731 /** 732 * 【HTML】最大入力文字数を指定します(入力可能文字数で、バイト数ではありません)。 733 * 734 * @og.tag 735 * カラムの入力文字制限数をセットします。 736 * 737 * @og.rev 6.2.3.0 (2015/05/01) maxlength 変数は、0 の場合は、無制限になります。 738 * 739 * @param len 入力文字制限数 740 */ 741 public void setMaxlength( final String len ) { 742 maxlength = nval( getRequestParameter( len ),maxlength ); 743 744 // 6.2.3.0 (2015/05/01) maxlength 変数は、0 の場合は、無制限になります。 745 if( "0".equals( maxlength ) ) { set( "NO_MAXLEN", "true" ); } 746 } 747 748 /** 749 * 【TAG】カラムの入力枠サイズ(横幅)を文字数でセットします(入力文字制限ではありません)。 750 * 751 * @og.tag 752 * カラムのサイズをセットします。 753 * 754 * @og.rev 3.5.5.5 (2004/04/23) 入力欄の大きさを指定する viewSize 属性を追加。 755 * 756 * @param siz サイズ 757 */ 758 public void setSize( final String siz ) { 759 fieldSize = nval( getRequestParameter( siz ),null ); // 6.2.0.0 (2015/02/27) 760 } 761 762 /** 763 * 【TAG】カラムの表示サイズ(横幅)を文字数でセットします。 764 * 765 * @og.tag 766 * 入力枠ではなく、表示する時の文字数制限に使われます。 767 * maxLength は、DB上の桁数(バイト数)ですが、viewSize は、文字数です。 768 * SLABEL の簡易バイト数計算(全角2Byte)でもなく、文字数計算になります。 769 * 770 * @og.rev 6.2.0.0 (2015/02/27) viewSize 属性の追加 771 * 772 * @param len 表示サイズ(横幅) 773 */ 774 public void setViewSize( final String len ) { 775 viewSize = nval( getRequestParameter( len ),null ); 776 } 777 778 /** 779 * 【TAG】カラムが書き込み可能かどうか[true:可能/false:不可]を設定します(初期値:null)。 780 * 781 * @og.tag 782 * カラムの書き込み可能を設定します。 783 * 初期値は、null:無指定 です。 784 * 785 * @param flag 書き込み許可 [true:許可/false:不可] 786 */ 787 public void setWritable ( final String flag ) { 788 writable = nval( getRequestParameter( flag ),writable ); 789 } 790 791 /** 792 * 【TAG】カラムの表示用レンデラー({@og.doc03Link renderer Renderer_****})をセットします。 793 * 794 * @og.tag 795 * これは、plugin.column 以下の Renderer_**** クラスの **** を与えます。 796 * これらは、CellRenderer インターフェースを継承したサブクラスです。 797 * 属性クラス定義の {@link org.opengion.hayabusa.db.CellRenderer Renderer} を参照願います。 798 * {@og.doc03Link renderer Renderer_**** クラス} 799 * "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 800 * 801 * @og.rev 6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 802 * 803 * @param rdr 表示用レンデラー (Renderer_**** の ****) 804 * @see org.opengion.hayabusa.db.CellRenderer 805 */ 806 public void setRenderer ( final String rdr ) { 807 renderer = nval( getRequestParameter( rdr ),renderer ); 808 } 809 810 /** 811 * 【TAG】カラムの編集用エディター({@og.doc03Link editor Editor_****})をセットします。 812 * 813 * @og.tag 814 * これは、plugin.column 以下の Editor_**** クラスの **** を 815 * 与えます。これらは、CellEditor インターフェースを継承したサブクラスです。 816 * 属性クラス定義の {@link org.opengion.hayabusa.db.CellEditor Editor} を参照願います。 817 * {@og.doc03Link editor Editor_**** クラス} 818 * "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 819 * 820 * @og.rev 6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 821 * 822 * @param ed 編集用エディター (Editor_**** の ****) 823 * @see org.opengion.hayabusa.db.CellEditor 824 */ 825 public void setEditor ( final String ed ) { 826 editor = nval( getRequestParameter( ed ),editor ); 827 } 828 829 /** 830 * 【TAG】DBタイプ({@og.doc03Link dbType DBType_****})をセットします。 831 * 832 * @og.tag 833 * これは、org.opengion.hayabusa.db.column 以下の DBType_**** クラスの **** を 834 * 与えます。これらは、DBType インターフェースを継承したサブクラスです。 835 * 属性クラス定義の {@link org.opengion.hayabusa.db.DBType DBType} を参照願います。 836 * {@og.doc03Link dbType DBType_**** クラス} 837 * "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 838 * 839 * @og.rev 6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。 840 * 841 * @param dt パラメータ 842 * @see org.opengion.hayabusa.db.DBType DBType_**** の **** 843 */ 844 public void setDbType( final String dt ) { 845 dbType = nval( getRequestParameter( dt ),dbType ); 846 } 847 848 /** 849 * 【TAG】コードセレクトのユニークキー(コード名称)をセットします。 850 * 851 * @og.tag 852 * このキーを元に、CodeSelectionオブジェクトを構築します。 853 * 854 * @og.rev 3.5.5.7 (2004/05/10) 新規作成 855 * 856 * @param name メニューのユニークキー(コード名称) 857 */ 858 public void setCodeName( final String name ) { 859 codeName = nval( getRequestParameter( name ),codeName ); 860 } 861 862 /** 863 * 【TAG】コードセレクトのサブセットとなるコード(キー)をCSV形式で指定します。 864 * 865 * @og.tag 866 * この値に限定された、コードリソースを、既存の、CodeData の 867 * サブセットとして作成します。 868 * codeName で指定されたリソースでも、サブセットを作成する事ができます。 869 * ここで指定するのは、コード(キー)だけです。 870 * 871 * @og.rev 5.1.9.0 (2010/08/01) 新規作成 872 * 873 * @param list コードセレクトのサブセットとなるコード(キー) 874 */ 875 public void setCodeList( final String list ) { 876 codeList = nval( getRequestParameter( list ),codeList ); 877 } 878 879 /** 880 * 【TAG】コードセレクトのサブセットとなるグループを指定します。 881 * 882 * @og.tag 883 * この値に限定された、コードリソースを、既存の、CodeData の 884 * サブセットとして作成します。 885 * codeName で指定されたリソースでも、サブセットを作成する事ができます。 886 * 887 * @og.rev 5.1.9.0 (2010/08/01) 新規作成 888 * 889 * @param group コードセレクトのサブセットとなるグループ 890 */ 891 public void setCodeGroup( final String group ) { 892 codeGroup = nval( getRequestParameter( group ),codeGroup ); 893 } 894 895 /** 896 * 【TAG】新しいコードセレクトを作成する為の「キー:ラベル キー:ラベル」の文字列を指定します。 897 * 898 * @og.tag 899 * 既存の、CodeData には存在しない、新しいコードリソースを作成する為の、文字列を指定します。 900 * 文字列は、「キー:ラベル キー:ラベル」形式で、スペースで分解後、":" でキーとラベルに分離します。 901 * スペース分解後の文字列に、":" が含まれていない場合は、キーをラベルとして扱います。 902 * また、ラベル部分は、ラベルリソースを使用して、変換を行います。 903 * 内部的には、CodeData を作成しません。DBColumnオブジェクト内で、直接、Selection_KEYVAL を生成します。 904 * codeName 、codeList、codeGroup などが指定された場合は、そちらが優先されます。 905 * 「キー:ラベル キー:ラベル」で、ラベル にスペースを含ませる場合は、ダブルクォーテーションで囲ってください。 906 * 「"キー:ラベル" "キー:ラベル"」という感じです。 907 * 908 * ※ editor,renderer を、"KVMENU" にして、param に、「キー:ラベル キー:ラベル」 909 * の文字列を指定する方法の、簡易版です。 910 * 911 * @og.rev 6.3.1.1 (2015/07/10) codeKeyVal 属性を追加 912 * 913 * @param keyval KEY:VAL文字列 914 */ 915 public void setCodeKeyVal( final String keyval ) { 916 codeKeyVal = nval( getRequestParameter( keyval ),codeKeyVal ); 917 } 918 919 /** 920 * 【TAG】パラメータをセットします。 921 * 922 * @og.tag 923 * ここで指定したパラメータは、renderer、editor、dbType すべてのパラメータに 924 * セットされます。 925 * パラメータをセットします。 926 * 927 * @og.rev 5.6.4.3 (2013/05/24) 新規追加 928 * 929 * @param prm パラメータ 930 */ 931 public void setParam( final String prm ) { 932 parameter = nval( getRequestParameter( prm ),parameter ); 933 rawParameter = nval( prm, parameter ); 934 } 935 936 /** 937 * 【TAG】value属性に値がセットされていないとき使用する、初期値を指定します。 938 * 939 * @og.tag 940 * value属性に値がセットされていないときに、この初期値を使用します。 941 * 942 * 8.4.3.0 (2023/03/31) defaultVal の設定値の取り扱い(変更なし) 943 * {@XXXX} は、リクエスト変数 ⇒ valueタグセット値 を確認 944 * 値がなければ、null となる。DBColumnの初期値は、""(空文字列)にセットされる。 945 * 通常の固定値は、そのまま使用されるが、""(空文字列)の場合は、 946 * null となる。DBColumnの初期値は、""(空文字列)にセットされる。 947 * defaultVal属性を使用しない場合は、 948 * null のままで、DBColumnの初期値は、""(空文字列)にセットされる。 949 * 950 * @param dv 初期値 951 */ 952 public void setDefaultVal( final String dv ) { 953 defaultVal = nval( getRequestParameter( dv ),defaultVal ); 954 } 955 956 /** 957 * 【TAG】セレクトメニューの値なしのOptionの有無[true/false]を指定します(初期値:falseと同等)。 958 * 959 * @og.tag 960 * セレクトメニューの場合、値なしのOptionをSelectに含めるかどうかを指定します。 961 * ここでは、検索結果の登録画面に使用されるケースが多いため、なにも指定されない 962 * 場合は、なにもセットしません。(Coderesourceの指定どおり) 963 * 動作としては、初期値は、含めない("false") と同等です。 964 * 965 * <og:columnEditor column="CDBK" addNoValue="false" /> 966 * 967 * @param flag 値なしのOptionの有無 [true:含める/それ以外:含めない] 968 */ 969 public void setAddNoValue( final String flag ) { 970 addNoValue = nval( getRequestParameter( flag ),addNoValue ); 971 } 972 973 /** 974 * 【TAG】セレクトメニューの場合、キー:ラベル形式で表示するかどうか[true/false/null]を指定します(初期値:null)。 975 * 976 * @og.tag 977 * カラムがプルダウンメニュー形式の場合、キー:ラベル形式で表示するか、ラベルだけで表示するかを 978 * 選択できます。 979 * true を指定すると、「強制的に」キー:ラベル形式で表示します。 980 * false の場合は、「強制的に」ラベルのみで表示されます。 981 * 初期値の null の場合、コードリソースや、SQL文に準拠した指定通りの形式で表示します。 982 * 983 * <og:column name="CDC" addKeyLabel="true" /> 984 * 985 * @og.rev 6.0.4.0 (2014/11/28) キー:ラベル形式で表示するかどうか。新規追加 986 * 987 * @param flag キー:ラベル形式表示 [true:キー:ラベル形式/false:ラベルのみ/null:指定通り] 988 */ 989 public void setAddKeyLabel( final String flag ) { 990 addKeyLabel = nval( getRequestParameter( flag ),addKeyLabel ); 991 } 992 993 /** 994 * 【TAG】セレクトメニューの場合、キーとラベルを分けて出力するかどうか[true/false]を指定します(初期値:false)。 995 * 996 * @og.tag 997 * カラムがプルダウンメニュー形式の場合、ファイル出力時に、キーとラベルを分離して出力する事ができます。 998 * この属性と、addKeyLabel とは、微妙に関連していて、addKeyLabel="true" のみの場合は、 999 * キー:ラベル形式で、出力されますが、writeKeyLabel="true" も指定されている場合は、こちらが優先されます。 1000 * なお、この指定が有効なのは、セレクトメニューのカラムのみです。 1001 * 初期値は、false です。 1002 * 1003 * @og.rev 6.2.3.0 (2015/05/01) キー/ラベルで分離して出力するかどうか。 1004 * 1005 * @param flag キー/ラベル分離出力するかどうか [true:分離出力/false:通常] 1006 */ 1007 public void setWriteKeyLabel( final String flag ) { 1008 writeKeyLabel = nval( getRequestParameter( flag ),writeKeyLabel ); 1009 } 1010 1011 /** 1012 * 【TAG】SQL文を指定してラベル情報を動的に読み込むかどうか[true/false]指定します(初期値:false)。 1013 * 1014 * @og.tag 1015 * trueを指定すると、body部分に記述されたSQL文よりラベル情報を生成して、 1016 * 動的にラベル表示を切り替えます。 1017 * 1018 * ワイルドカードを使用した、カラムの複数指定と組み合わせることで、外部から設定 1019 * されたラベル情報で一括で変更することができます。 1020 * 1021 * 発行するクエリでは、第1カラムにラベルキーを、第2カラムにラベル名称を設定します。 1022 * 第3カラムが存在する場合は、名称(短)として使用されます。(必須ではありません) 1023 * 1024 * ここで作成されたラベル情報は、カラムエディターを適用したDBTableModelのみで 1025 * 有効であり、内部的にもキャッシュされません。 1026 * 1027 * 初期値は、false(動的読込しない)です。 1028 * 1029 * @og.rev 4.3.4.0 (2008/12/01) 新規作成 1030 * 1031 * @param flag 動的読込 [true:する/false:しない] 1032 */ 1033 public void setUseLabelMap( final String flag ) { 1034 useLabelMap = nval( getRequestParameter( flag ),useLabelMap ); 1035 } 1036 1037 /** 1038 * 【TAG】MENU,DBMENUでSLABELを利用するかどうか[auto/true/false]を指定します(初期値:null)。 1039 * 1040 * @og.tag 1041 * 通常はセレクトメニューは一覧とそれ以外で短縮ラベルの利用が自動で切り替わります。 1042 * 強制的にSLABELを利用させたい場合にこの属性をtrueにセットして下さい。 1043 * auto/true/false以外を指定した場合はfalse扱いとします。 1044 * ここでの初期値は、値の変更を行わないということで、null です。 1045 * 1046 * @og.rev 5.6.2.3 (2013/03/22) columnタグに実装されているので移植 1047 * 1048 * @param prm SLABEL利用 [auto:自動/true:利用する/false:利用しない] 1049 */ 1050 public void setUseSLabel( final String prm ) { 1051 useSLabel = nval( getRequestParameter( prm ),useSLabel ); 1052 if( useSLabel != null && 1053 !"auto".equalsIgnoreCase( useSLabel ) && 1054 !"true".equalsIgnoreCase( useSLabel ) && 1055 !"false".equalsIgnoreCase( useSLabel ) ) { 1056 final String errMsg = "useSLabel は、[auto:自動/true:利用する/false:利用しない] から選んでください。" 1057 + "useSLabel=[" + prm + "]" + CR ; 1058 throw new HybsSystemException( errMsg ); 1059 } 1060 } 1061 1062 /** 1063 * 【TAG】非表示文字列を指定します(初期値:null)。 1064 * 1065 * @og.tag 1066 * これは、例えば、数字型の場合は、0 がデフォルトなどの場合、 1067 * あえて表示したくないなどのケースに使います。 1068 * そのような状況が設定されていない場合は、null が返されます。 1069 * 初期値は、null です。 1070 * 1071 * @og.rev 5.6.2.3 (2013/03/22) 新規追加 1072 * 1073 * @param prm 非表示文字列 [auto:自動/true:利用する/false:利用しない] 1074 */ 1075 public void setNoDisplayVal( final String prm ) { 1076 noDisplayVal = nval( getRequestParameter( prm ),noDisplayVal ); 1077 } 1078 1079 /** 1080 * 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します 1081 * (初期値:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])。 1082 * 1083 * @og.tag 1084 * 検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 1085 * 渡す場合に、通常は、session を利用します。その場合の登録キーです。 1086 * query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 1087 * この tableId 属性を利用して、メモリ空間を分けます。 1088 * (初期値:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])。 1089 * 1090 * @param id テーブルID (sessionに登録する時のID) 1091 */ 1092 public void setTableId( final String id ) { 1093 tableId = nval( getRequestParameter( id ),tableId ); 1094 } 1095 1096 /** 1097 * 【TAG】データベースへ接続する場合のID(初期値:null)。 1098 * 1099 * @og.tag 1100 * データベース接続を使用するエディター、レンデラーを使用する場合に使用する接続先IDを指定します。 1101 * カラムオブジェクトは、query処理ではなく、view処理時に適用されるため、データベース 1102 * 接続先を指定する必要があります。 1103 * 初期値は、null(DEFAULT 接続) です。 1104 * 1105 * @og.rev 4.0.0.0 (2006/04/02) 新規追加 1106 * 1107 * @param id 接続先ID 1108 */ 1109 public void setDbid( final String id ) { 1110 dbid = nval( getRequestParameter( id ),dbid ); 1111 } 1112 1113 /** 1114 * 【TAG】イベントカラム(親カラム)を設定します。 1115 * 1116 * @og.tag 1117 * 親子関係を持った項目の動的な入れ替えを行う場合に利用します。 1118 * このカラムを変化させるトリガとなるカラムの名前をセットします。 1119 * 1120 * ※詳細はcolumnTagのeventURL属性の説明をご覧下さい。 1121 * 1122 * なお、columnEditorで、Viewに対して、SQL文の定義(置き換え定義)をする場合でも、 1123 * 他カラムの値の参照は、columnタグの場合と同様に、{@XXXX}または$nの変数により行います。 1124 * この場合、これらの変数は、"自身と同一行のカラム"を意味します。 1125 * 1126 * @og.rev 4.3.6.0 (2009/04/01) 1127 * @og.rev 5.1.7.0 (2010/06/01) コメント大幅修正 1128 * 1129 * @param col 親カラム 1130 */ 1131 public void setEventColumn( final String col ) { 1132 eventColumn = nval( getRequestParameter( col ), eventColumn ); 1133 } 1134 1135 /** 1136 * 【TAG】eventColumn使用時の値を、SQL文から求めるためのqueryをセットします。 1137 * 1138 * @og.tag 1139 * eventColumn利用時は{@XXXX}はリクエストパラメータではなく 1140 * xxxカラムの実際の値が利用されます。 1141 * 1142 * @og.rev 6.3.4.0 (2015/08/01) eventValue 追加 1143 * @param val パラメータ 1144 */ 1145 public void setEventValue( final String val ) { 1146 eventValue = nval( getReservedParameter( val ), eventValue ); // ここでは{@XXXX}変換をしない 1147 } 1148 1149 /** 1150 * 【TAG】イベントカラム指定時に呼び出すURLを指定します。 1151 * 1152 * @og.tag 1153 * イベントカラム指定時に部品を作成するJSPを指定します。 1154 * 初期値はシステムリソースのEVENT_COLUMN_URLです。 1155 * (例:eventURL="makeColumn_custom.jsp") 1156 * 1157 * ※詳細はcolumnTagのeventURL属性の説明をご覧下さい。 1158 * 1159 * @og.rev 4.3.6.0 (2009/04/01) 1160 * 1161 * @param url JSPのURL 1162 */ 1163 public void setEventURL( final String url ) { 1164 eventURL = nval( getRequestParameter( url ), eventURL ); 1165 } 1166 1167 /** 1168 * 【TAG】eventColumn実行後のcallbak関数を指定します。 1169 * 1170 * @og.tag 1171 * eventColumnの動作終了後に実行するCallback関数の指定を行います。 1172 * 関数名のみを指定して下さい。 1173 * ex) sampleCallback()を実行する場合はeventCallback="sampleCallback" 1174 * 実行する関数の第一引数には自動的に次の要素が入った配列が渡されます 1175 * [0] 変更された子カラムのID属性値 1176 * [1] evnetColumn実行後の子カラムの値 1177 * [2] eventColumn実行前の子カラムの値 1178 * 1179 * この属性は、optionAttributesへの設定と同様の動作を行います。 1180 * 1181 * @og.rev 5.5.4.0 (2012/07/02) 新規追加 1182 * @og.rev 6.9.8.0 (2018/05/28) パラメータ引数が、未設定の場合の考慮不足 1183 * 1184 * @param callback Callback関数 1185 */ 1186 public void setEventCallback( final String callback ) { 1187 // optionAttributes扱いで登録します。 1188 final String clbk = getRequestParameter( callback ); 1189 if( StringUtil.isNotNull( clbk ) ){ 1190 add( "optionAttributes", "eventCallback='" + clbk + "'" ); 1191 } 1192 1193// // optionAttributes扱いで登録します。 1194// if( callback != null && callback.length() > 0 ){ 1195// add( "optionAttributes", "eventCallback='"+getRequestParameter( callback )+"'" ); 1196// } 1197 } 1198 1199 /** 1200 * 【HTML5】表示形式を指定します(初期値:text)。 1201 * 1202 * @og.tag 1203 * ColumnTagは、カラムリソースで作成される為、タイプは固定です。 1204 * しかし、HTML5 で追加された形式には、有用なタイプも存在する為、 1205 * それらへの書き換えをできるようにします。 1206 * よって、ここでは、従来型のタイプへの書き換えはできません。 1207 * (textだけは例外で戻せるようにします)。 1208 * 1209 * [search/tel/url/email/datetime/date/month/week/time/datetime-local/number/range/color] 1210 * が、設定できます。 1211 * 1212 * HTML5 の機能を有効にするには、ネイティブモードで動作させる必要があります。 1213 * ① USE_IE7_HEADER = "false" に設定する。 1214 * ② USE_HTML5_HEADER = "true" に設定する。 1215 * ③ IEのツール⇒互換表示設定で、互換表示に追加したWebサイトから削除する。 1216 * ④ 同上の設定で、イントラサイトを互換表示で表示するのチェックを外す。 1217 * 必要があります。 1218 * 1219 * <og:input type="text" /> テキストボックスを表示 1220 * 1221 * HTML5 で追加されたタイプ 1222 * <og:input type="search" /> 検索テキストの入力欄を作成する 1223 * <og:input type="tel" /> 電話番号の入力欄を作成する 1224 * <og:input type="url" /> URLの入力欄を作成する 1225 * <og:input type="email" /> メールアドレスの入力欄を作成する 1226 * <og:input type="datetime" /> UTC(協定世界時)による日時の入力欄を作成する 1227 * <og:input type="date" /> 日付の入力欄を作成する 1228 * <og:input type="month" /> 月の入力欄を作成する 1229 * <og:input type="week" /> 週の入力欄を作成する 1230 * <og:input type="time" /> 時間の入力欄を作成する 1231 * <og:input type="datetime-local" /> UTC(協定世界時)によらないローカル日時の入力欄を作成する 1232 * <og:input type="number" /> 数値の入力欄を作成する 1233 * <og:input type="range" /> レンジの入力欄を作成する 1234 * <og:input type="color" /> 色の入力欄を作成する 1235 * 1236 * @og.rev 5.7.1.0 (2013/12/06) HTML5 対応(新規追加) 1237 * @og.rev 6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。 1238 * @og.rev 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。 1239 * 1240 * @param type HTML5用 [text/search/tel/url/email/datetime/date/month/week/time/datetime-local/number/range/color] 1241 */ 1242 public void setType( final String type ) { 1243 final String tp = getRequestParameter( type ); 1244 1245 if( check( tp , TYPE_SET ) ) { 1246 set( "type",tp ); 1247 } 1248 else { 1249 final String errMsg = "type 属性は、下記の中から選択してください。type=[" 1250 + tp + "] in [" + String.join( ", " , TYPE_SET ) + "]"; 1251 throw new HybsSystemException( errMsg ); 1252 } 1253 } 1254 1255 /** 1256 * 【TAG】ResourceManager を使用しないかどうか[true/false]を指定します(初期値:false)。 1257 * 1258 * @og.tag 1259 * trueを指定すると、使用しない設定になります。 1260 * これは、データベースから検索した値そのものが返される カラムオブジェクトを使用することになります。 1261 * 「noResource」なので、意味が反転しているのをご注意ください。 1262 * 1263 * false(初期値)は、ResourceManager を使用します。 1264 * 1265 * @og.rev 5.7.3.0 (2014/02/07) 新規作成 1266 * 1267 * @param flag ResourceManagerの不使用 [true:不使用/false:使用] 1268 */ 1269 public void setNoResource( final String flag ) { 1270 noResource = nval( getRequestParameter( flag ),noResource ); 1271 } 1272 1273 /** 1274 * 【TAG】(通常は使いません)カラムIDの存在チェックを行うかどうか[true/false]を指定します(初期値:true)。 1275 * 1276 * @og.tag 1277 * true の場合、カラムIDがDBTableModel に存在しない場合は、エラーになります。 1278 * false の場合、カラムIDがDBTableModel に存在しない場合は、無視します。 1279 * これは、検索条件によって、設定されるカラムが異なる場合でも、後続処理を 1280 * 正常に動作させたい場合に、使用します。 1281 * 初期値は true (チェックを行う) です。 1282 * 1283 * @og.rev 6.7.6.0 (2017/03/17) strictCheck 追加。 1284 * 1285 * @param check 存在チェック [true:行う/false:行わない] 1286 */ 1287 public void setStrictCheck( final String check ) { 1288 strictCheck = nval( getRequestParameter( check ),strictCheck ); 1289 } 1290 1291 /** 1292 * 【TAG】レンデラ利用時のExcel出力でセルタイプを文字固定にするか[true/false]を指定します(初期値:システム定数のUSE_STRING_EXCEL_OUTPUT)。 1293 * 1294 * @og.tag 1295 * falseを指定すると、dbTypeに従ったセルタイプとなります。 1296 * TableWriter内部でdouble変換をするためエラーに注意してください。 1297 * (初期値:システム定数のUSE_STRING_EXCEL_OUTPUT[={@og.value SystemData#USE_STRING_EXCEL_OUTPUT}])。 1298 * 1299 * @og.rev 5.7.6.3 (2014/05/23) 新規作成 1300 * 1301 * @param flag セルタイプの文字固定にするか [true:固定する/false:固定しない] 1302 */ 1303 public void setStringOutput( final String flag ) { 1304 stringOutput = nval( getRequestParameter( flag ),stringOutput ); 1305 } 1306 1307 /** 1308 * 【TAG】リアルタイムチェックを行うかどうかを指定します(初期値:true)。 1309 * 1310 * @og.tag 1311 * カラム単位でリアルタイムチェックを行うかどうかを設定をします。 1312 * タグに独自属性としてrealTimeCheck="true/false"を追記します。 1313 * falseを設定した場合にチェックが行われなくなります。 1314 * 初期値はリアルタイムチェックを行う(true)です。 1315 * 1316 * この属性は、optionAttributesへの設定と同様の動作を行います。 1317 * 引数の文字列の、true/false 判定を行っていません。そのままの文字列が設定されます。 1318 * JavaScript 側では、false 判定のみ行っているので、不正な文字列の場合は、 1319 * 初期値(true:リアルタイムチェックを行う)が適用されます。 1320 * これは、Ver5 とロジックを合わせておくための処置です。 1321 * 1322 * @og.rev 5.9.32.2 (2018/05/18) 新規追加 1323 * @og.rev 6.9.8.0 (2018/05/28) Ver5 とロジックを合わせます。 1324 * 1325 * @param flag リアルタイムチェックを行うかどうか [true:行う/false:行わない] 1326 */ 1327 public void setUseRealTimeCheck( final String flag ) { 1328 // optionAttributes扱いで登録します。 1329 final String rtcf = getRequestParameter( flag ); 1330 1331 if( StringUtil.isNotNull( rtcf ) ){ 1332 add( "optionAttributes", "realTimeChk=\"" + rtcf + "\"" ); // 連結時のスペースは、Attributes クラスで処理 1333 } 1334 1335// final boolean useRtc = nval( getRequestParameter( flag ) , true ); 1336// 1337// if( !useRtc ) { // true 以外の場合のみ、optionAttributes に属性を追加します。 1338// add( "optionAttributes", "realTimeChk=\"false\"" ); // 連結時のスペースは、Attributes クラスで処理 1339// } 1340 } 1341 1342 /** 1343 * 【TAG】日付送り戻し機能を有効にするかどうか[true:有効/false:無効]指定します(初期値:true)。 1344 * 1345 * @og.tag 1346 * 編集種別が年月(YM)、年月日(YMD)、年月日(YMD2)のとき、日付送り戻し機能の 1347 * 有効(true)/無効(false)を指定します。 1348 * イベントカラム(親カラム)を設定し、param属性に定義したSQL文を実行させたい場合には、 1349 * false を指定します。 1350 * 1351 * @og.rev 8.1.2.3 (2022/05/20) 日付送り戻し不具合対応(useDateFeed 属性追加) 1352 * 1353 * @param flag 日付送り戻し機能有無 [true:有効/false:無効] 1354 */ 1355 public void setUseDateFeed( final String flag ) { 1356 useDateFeed = nval( getRequestParameter( flag ),useDateFeed ); 1357 } 1358 1359 /** 1360 * このオブジェクトの文字列表現を返します。 1361 * 基本的にデバッグ目的に使用します。 1362 * 1363 * @return このクラスの文字列表現 1364 * @og.rtnNotNull 1365 */ 1366 @Override 1367 public String toString() { 1368 return ToString.title( this.getClass().getName() ) 1369 .println( "VERSION" ,VERSION ) 1370 .println( "tableId" ,tableId ) 1371 .println( "columns" ,columns ) 1372 .println( "allColumns" ,allColumns ) 1373 .println( "className" ,className ) 1374 .println( "size" ,fieldSize ) // 6.2.0.0 (2015/02/27) 1375 .println( "viewSize" ,viewSize ) // 6.2.0.0 (2015/02/27) 1376 .println( "maxlength" ,maxlength ) 1377 .println( "writable" ,writable ) 1378 .println( "renderer" ,renderer ) 1379 .println( "editor" ,editor ) 1380 .println( "codeName" ,codeName ) 1381 .println( "dbType" ,dbType ) 1382 .println( "defaultVal" ,defaultVal ) 1383 .println( "parameter" ,parameter ) 1384 .println( "dbid" ,dbid ) 1385 .println( "addNoValue" ,addNoValue ) 1386 .println( "Other..." ,getAttributes().getAttribute() ) 1387 .fixForm().toString() ; 1388 } 1389}