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.html; 017 018import java.util.List; 019import java.util.Map; 020import java.util.concurrent.ConcurrentMap; // 6.4.3.3 (2016/03/04) 021import java.io.Writer; 022import java.io.IOException; 023 024import org.opengion.hayabusa.db.DBTableModel; 025import org.opengion.hayabusa.resource.ResourceManager; 026 027/** 028 * DBTableModelの表示を行うインターフェースです。 029 * 各種の表示形式をサポートするには、ViewForm インターフェースを implements した 030 * クラスを作成して、DBTableModel をセットするだけです。 031 * ViewForm 自体は、Controller クラスよりアクセスされます。 032 * 033 * ViewForm の実装クラス( implements されたクラス)に対する 各種設定(たとえば、HTMLタグなど) 034 * は、個々の実装クラス毎に設定します。 035 * 036 * @og.group 画面表示 037 * 038 * @version 4.0 039 * @author Kazuhiko Hasegawa 040 * @since JDK5.0, 041 */ 042public interface ViewForm { 043 044 /** 045 * カラムの書込み許可属性(clmWritable)の初期値を指定します。 046 * これが true の場合は、デフォルトですべてのカラムが書込み許可されます。 047 * false の場合は、すべてが書込み不許可になります。 048 * 049 * このデフォルト値は、false に設定されています。 050 * 051 */ 052 boolean DEFAULT_CLM_WRITABLE = false; 053 054 /** 055 * 書き込み可能な行(rowWritable == true)のみを表示対象とするかどうかを 056 * 指定します。 057 * 058 */ 059 boolean DEFAULT_SKIP = false; 060 061 /** 062 * 初期化します。 063 * ここでは、内部で使用されているキャッシュをクリアし、 064 * 新しいモデル(DBTableModel)と言語(lang) を元に内部データを再構築します。 065 * 066 * @og.rev 3.5.6.1 (2004/06/25) lang 言語コード 属性を削除します。 067 * 068 * @param table DBTableModelオブジェクト 069 */ 070 void init( DBTableModel table ) ; 071 072 /** 073 * DBTableModel から View文字列を作成して返します。 074 * 075 * @return DBTableModelから作成された View文字列 076 */ 077 String create() ; 078 079 /** 080 * DBTableModel から View文字列を作成して返します。 081 * startNo(表示開始位置)から、pageSize(表示件数)までのView文字列を作成します。 082 * 表示残りデータが pageSize 以下の場合は、残りのデータをすべて出力します。 083 * 084 * @param startNo 表示開始位置 085 * @param pageSize 表示件数 086 * 087 * @return DBTableModelから作成された View文字列 088 */ 089 String create( int startNo, int pageSize ) ; 090 091 /** 092 * DBTableModel から View文字列を作成して、Writer にセットします。 093 * 処理内容は、create( int , int ) と同じですが、中間の文字列(StringBuilder) 094 * を作成せずに、直接、Writer に書き出します。 095 * よって、データ作成途中でエラーが発生しても、すでにいくつかのデータは 096 * クライアントに返されています。 097 * 098 * @og.rev 5.0.0.1 (2009/08/15) 直接出力用の Writer 引数追加 099 * 100 * @param startNo 表示開始位置 101 * @param pageSize 表示件数 102 * @param wrt 直接登録用の Writer 103 * @throws IOException 入出力エラーが発生したとき 104 */ 105 void create( int startNo, int pageSize, Writer wrt ) throws IOException ; 106 107 /** 108 * 表示開始位置をセットします。 109 * 110 * @param startNo 表示開始位置 111 */ 112 void setStartNo( int startNo ) ; 113 114 /** 115 * 表示開始位置を返します。 116 * 117 * @return 表示開始位置 118 */ 119 int getStartNo() ; 120 121 /** 122 * 表示件数をセットします。 123 * 124 * @param pageSize 表示件数 125 */ 126 void setPageSize( int pageSize ) ; 127 128 /** 129 * 表示件数を返します。 130 * 131 * @return pageSize 表示件数 132 */ 133 int getPageSize() ; 134 135 /** 136 * 内部の DBTableModel を返します。 137 * 138 * @return DBTableModelオブジェクト 139 */ 140 DBTableModel getDBTableModel() ; 141 142 /** 143 * ViewForm の識別IDをセットします。 144 * これは、ViewFormFactory でプールする場合の識別キーになります。 145 * プールに戻すときに自分自身に この識別IDを使用します。 146 * 147 * @og.rev 3.5.6.2 (2004/07/05) メソッド名がまぎらわしい為、変更します。 148 * 149 * @param id 識別ID 150 */ 151 void setId( String id ) ; 152 153 /** 154 * ViewForm の識別IDを返します。 155 * これは、ViewFormFactory でプールする場合の識別キーになります。 156 * プールに戻すときに自分自身に この識別IDを使用します。 157 * 158 * @og.rev 3.5.6.2 (2004/07/05) メソッド名がまぎらわしい為、変更します。 159 * 160 * @return 識別ID 161 */ 162 String getId() ; 163 164 /** 165 * 内容をクリア(初期化)します。 166 * 167 */ 168 void clear() ; 169 170 /** 171 * カラムが書き込み可能かどうかをセットします。 172 * 173 * @param column カラム番号 174 * @param rw 書込み可能(true)/不可能(false) 175 */ 176 void setColumnWritable( int column,boolean rw ) ; 177 178 /** 179 * 書き込み可能カラム名を、CSV形式で与えます。 180 * これは、書き込み不可カラム名の指定(noWritable)と同時にセットする 181 * ことは出来ません。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 182 * 183 * setColumnWritable( int column,boolean rw ) の簡易版です。 184 * null を与えた場合は、なにもしません。 185 * また、全カラムについて、有効にする場合は、columnName="*" を設定します。 186 * 187 * @param columnName カラム名 188 */ 189 void setColumnWritable( String columnName ) ; 190 191 /** 192 * 書き込み不可カラム名を、CSV形式で与えます。 193 * これは、書き込み可能カラム名の指定(columnWritable)と同時にセットする 194 * ことは出来ません。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 195 * 196 * null を与えた場合は、なにもしません。 197 * また、全カラムについて、有効にする場合は、columnName="*" を設定します。 198 * 199 * @param columnName カラム名 200 */ 201 void setNoWritable( String columnName ) ; 202 203 /** 204 * その行が、処理対象かどうかをチェックします。 205 * 処理対象かどうかは、書き込み可能な行(rowWritable == true) 206 * で且つ チェックされた行(rowChecked == true) とします。 207 * 例えば、NEXT/PREVでスキップ等の処理を行う場合は、 処理対象以外を 208 * スキップすることで実現できます。 209 * 210 * @param row 行番号 211 * 212 * @return 処理対象(true)/処理対象でない(false) 213 */ 214 boolean isMarked( int row ) ; 215 216 /** 217 * カラムが表示可能かどうかをセットします。 218 * これは、表示不可カラム名の指定(noDisplay)と同時にセットする 219 * ことは出来ません。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 220 * 221 * @param column カラム番号 222 * @param rw 表示可能(true)/不可能(false) 223 */ 224 void setColumnDisplay( int column,boolean rw ) ; 225 226 /** 227 * 表示可能カラム名を、CSV形式で与えます。 228 * これは、表示不可カラム名の指定(noDisplay)と同時にセットする 229 * ことは出来ません。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 230 * 231 * setColumnDisplay( int column,boolean rw ) の簡易版です。 232 * null を与えた場合は、なにもしません。 233 * また、全カラムについて、有効にする場合は、columnName="*" を設定します。 234 * 235 * @param columnName カラム名 236 */ 237 void setColumnDisplay( String columnName ) ; 238 239 /** 240 * 表示不可カラム名を、CSV形式で与えます。 241 * これは、表示可能カラム名の指定(columnDisplay)と同時にセットする 242 * ことは出来ません。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 243 * 244 * null を与えた場合は、なにもしません。 245 * また、全カラムについて、有効にする場合は、columnName="*" を設定します。 246 * 247 * @param columnName カラム名 248 */ 249 void setNoDisplay( String columnName ) ; 250 251 /** 252 * 指定のカラム(CSV指定)に、指定のクラス属性を追加します。。 253 * 254 * どちらかが、nullか、空文字列の場合は、無視します。 255 * 256 * @og.rev 8.0.1.0 (2021/11/02) tdClassClms,tdClass追加 257 * 258 * @param clms 指定のクラス属性をtd に追加するカラム (CSV形式) (例:"OYA,KO,HJO,SU,DYSET,DYUPD") 259 * @param tdCls td に追加するクラス属性 260 */ 261 void setTdClass( String clms,String tdCls ) ; 262 263 /** 264 * 同一表示データをまとめる(表示しない)カラム名を、CSV形式で与えます。 265 * 266 * これは、カラムのグループ化指定を行います。 267 * 同じカラム番号で一つ上の行番号と同じ内容の場合に、特殊な表示方法で表示します。 268 * 対応は、表示(Renderer)時のみとします。 269 * 特殊な表示方法の指定は、groupClass 属性で指定します。 270 * (例:groupClass にアルファベット以外の文字・・そのまま表示、アルファベットはクラス属性を付与します。) 271 * カラム単位なので、新しいゼブラによる色分けは行いません。(任意のカラムに適用できる為) 272 * また、ファイル出力などのデータ自身は変更されていませんので、そのままデータが落ちます。 273 * 274 * これは、同一表示データをまとめないカラム名の指定(noGroup)と同時にセットする 275 * ことは出来ません。 276 * また、全カラムについて、有効にする場合は、group="*" を設定します。 277 * 278 * @og.rev 3.8.5.0 (2006/03/20) 新規追加 279 * 280 * @param group まとめるカラム名(CSV形式) 281 */ 282 void setColumnGroup( String group ) ; 283 284 /** 285 * 同一表示データをまとめないカラム名を、CSV形式で与えます。 286 * 287 * これは、カラムのグループ化指定で、同一でもまとめないカラムを指定するほうが簡単な場合に 288 * 使用します。例えば、キー情報以外は、グループ化指定したい場合などに便利です。 289 * 動作は、columnGroup の動きと同じです。(まとめないカラムを指定するだけです。) 290 * 291 * これは、同一表示データをまとめるカラム名の指定(columnGroup)と同時にセットする 292 * ことは出来ません。 293 * また、全カラムについて、有効にする場合は、group="*" を設定します。 294 * 295 * @og.rev 5.1.8.0 (2010/07/01) 新規追加 296 * 297 * @param group 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 298 */ 299 void setNoGroup( final String group ); 300 301 /** 302 * 同一表示データをまとめる場合の、表示方法を指定します。 303 * 304 * これは、カラムのグループ化指定(columnGroup)を行う場合の、まとめ表示の方法を指定します。 305 * なにも指定しない場合は、まとめカラムは、表示しない(ゼロ文字列)になります。 306 * その場合、先の行と同じ場合も、変更されたカラムが、NULL(ゼロ文字列)であった場合も、 307 * 同じ用に表示されるため、区別が付きません。 308 * そこで、前の行と同じデータの場合に、特殊な処理を行うことで、区別できるようにします。 309 * 指定方法が特殊なので、注意が必要です。 310 * 記号の場合: 311 * 記号(-- , → , ↓ , * など)が指定された場合は、そのままの文字に置き換えられます。 312 * アルファベットの場合: 313 * アルファベット(a-z,A-Z)の場合は、<span class="アルファベット">元の文字</span> 314 * 例えば、バックカラーに色を付ける、文字を薄い灰色にする、などできます。 315 * ただし、データ量が圧倒的に増えるため、大量のデータ等で使用するのは避けたほうが良いと思います。 316 * 317 * @og.rev 3.8.5.0 (2006/03/20) 新規追加 318 * 319 * @param grpCls まとめ表示の方法 320 */ 321 void setGroupClass( final String grpCls ); 322 323 /** 324 * 同一表示データ以外の箇所の表示方法を指定します。 325 * 326 * これは、カラムのグループ化指定(columnGroup)を行う場合の、まとめ表示しないカラムの表示方法を指定します。 327 * groupClass と異なり、何らかの値が存在しているはずなので、ここで指定するのは、spanタグ内に 328 * class属性を付ける場合です。 329 * groupClass の指定に、アルファベットを使用した場合の動きと同じになります。 330 * <span class="アルファベット">元の文字</span> 331 * 例えば、バックカラーに色を付ける、文字を薄い灰色にする、などできます。 332 * ただし、データ量が圧倒的に増えるため、ほとんどが同じデータで、一部異なる場合に使用するのがお勧めです。 333 * 334 * @og.rev 8.2.1.0 (2022/07/15) 新規追加 335 * 336 * @param grpCls まとめ表示の方法 337 */ 338 void setNoGroupClass( final String grpCls ); 339 340 /** 341 * 同一表示データをまとめる場合に、行(row)か列(column)を指定します(初期値:false:ROW) 342 * 343 * これは、カラムのグループ化指定(columnGroup)を行う場合の、まとめ表示の方向を指定します。 344 * ROW(初期値:false)を指定すると、指定のカラムで、行単位に同一データかどうかを判定します。 345 * COLUMN(true)を指定すると、columnGroup で指定した順番に、列方向に同一データかどうかを判定します。 346 * DBTableModelの登録順で、ひとつ前のカラムと比較します。 347 * 348 * @og.rev 6.7.3.0 (2017/01/27) 新規追加 349 * 350 * @param dir まとめ表示の方向(false:ROW/true:COLUMN) 351 * @see #setColumnGroup( String ) 352 */ 353 void setGroupDir( final boolean dir ); 354 355 /** 356 * カラム名リンクソートを表示するカラム名を、CSV形式で与えます。 357 * 358 * ヘッダーにソート用リンクを作成する useTableSorter 属性 に対して、 359 * カラム個別に作成する場合のカラム名をCSV形式で指定します。 360 * この tableSorterKeys 属性は、useTableSorter 属性 と無関係に、指定した 361 * カラムのみ、リンクを表示します。 362 * また、全カラムについて、有効にする場合は、columnName="*" を設定します。 363 * 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 364 * 365 * @og.rev 3.6.0.0 (2004/09/17) 新規作成 366 * 367 * @param columnName カラム名 368 */ 369 void setTableSorterKeys( String columnName ) ; 370 371 /** 372 * 表示時の選択用オブジェクトのタイプを指定します。 373 * ・複数選択可能時は "checkbox" を指定します。 374 * ・一つだけ選ばせる場合は、"radio" を指定します。 375 * ・隠しフィールドで全件を選ぶ場合は、"hidden" を指定します。 376 * 初期値は、"checkbox" です。 377 * 378 * @param type 選択用オブジェクトのタイプ( "checkbox"/"radio"/"hidden"/"null" ) 379 */ 380 void setSelectedType( String type ) ; 381 382 /** 383 * 表示時の行番号の表示方法を指定します。 384 * ・sequenceは、1から始まる連番です。 385 * ・none を指定すると、番号は表示されません。 386 * ・delete を指定すると、行番号表示そのもののタグを取り除きます。(3.5.5.0 追加) 387 * ・skip=カラム名を指定すると、そのカラムの値が NULL の場合は、番号をスキップします。 388 * ・view=カラム名を指定すると、そのカラムの値が、使用されます。(ラベルは付きません) 389 * skip=XX と、view=XX は、=の前後にスペースを入れないで下さい。 390 * 初期値は、"sequence" です。 391 * 392 * @og.rev 3.5.1.0 (2003/10/03) 新規作成 393 * 394 * @param type 行番号の表示方法のタイプ( /sequence/none/delete/skip=カラム名/view=カラム名/ ) 395 */ 396 void setNumberType( String type ) ; 397 398 /** 399 * テーブル等のチェックボックスに属性を付加します 400 * JavaScript などの HTML基本タグ以外の属性を、そのまま 401 * チェックボックス/ラジオボタン等に使用します。 402 * 403 * @param option オプション属性 404 */ 405 void setOptionTypeAttributes( String option ) ; 406 407 /** 408 * リソースマネージャを設定します。 409 * クロス集計時に、useColumnHeader="true"とした場合のみ設定されます。 410 * 411 * @og.rev 4.0.0.0 (2007/11/29) 新規作成 412 * 413 * @param res リソースマネージャー 414 */ 415 void setResourceManager( ResourceManager res ) ; 416 417 ////////////////////////////////////////////////////////////////////////// 418 // 419 // フォーマット関連クラスのメソッド 420 // 421 ////////////////////////////////////////////////////////////////////////// 422 423 /** 424 * フォーマットを設定します。 425 * 426 * @og.rev 3.5.4.0 (2003/11/25) 新規作成 427 * 428 * @param list TableFormatterのリスト 429 */ 430 void setFormatterList( List<TableFormatter> list ) ; // 4.3.3.6 (2008/11/15) Generics警告対応 431 432 /** 433 * フォーマットメソッドを使用できるかどうかを問い合わせます。 434 * 435 * @return フォーマットメソッドを使用できるか 436 */ 437 boolean canUseFormat() ; 438 439 /** 440 * ビューフォームのタイプを返します。 441 * これは、ViewFormFactory で、org.opengion.hayabusa.html. + 『type』 + ViewForm 442 * で作成されるサブクラスの 『type』 部分を返します。 443 * 444 * @return ビューフォームのタイプ 445 */ 446 String getViewFormType() ; 447 448 /** 449 * ビューリンクオブジェクトを設定します。 450 * これは、ViewLink タグで作成された キー(カラム名)とリンク文字列を 451 * 持っている Attributes オブジェクトを受け取り、内部でリンク表示に 452 * 使用します。 453 * 454 * @param link ビューリンクオブジェクト 455 */ 456 void setViewLink( ViewMarker link ); 457 458 /** 459 * ビューマーカーオブジェクトを設定します。 460 * これは、ViewMarker タグで作成された キー(カラム名)とマーカー文字列を 461 * 持っている Attributes オブジェクトを受け取り、内部でマーカー表示に 462 * 使用します。 463 * 464 * @param link ビューマーカーオブジェクト 465 */ 466 void setViewMarker( ViewMarker link ); 467 468 /** 469 * 編集マーカーオブジェクトを設定します。 470 * これは、ViewMarker タグで、isRendere="false" で作成された 編集キー(カラム名)と 471 * マーカー文字列を持っている Attributes オブジェクトを受け取り、内部でマーカー表示に 472 * 使用します。 473 * 474 * @og.rev 3.8.6.1 (2006/10/20) 新規追加 475 * 476 * @param marker ビューマーカーオブジェクト 477 */ 478 void setEditMarker( ViewMarker marker ) ; 479 480 /** 481 * 検索結果メッセージを表示する/しないを設定します 482 * 初期値は、表示する(false)です。 483 * 484 * @param noMessage [true:表示しない/false:表示する] 485 */ 486 void setNoMessage( boolean noMessage ) ; 487 488 /** 489 * 先頭へ戻るリンク間隔を返します。 490 * 491 * @return backLinkCount リンク間隔 492 */ 493 int getBackLinkCount() ; 494 495 /** 496 * 先頭へ戻るリンク間隔をセットします。 497 * 498 * @param no リンク間隔 499 */ 500 void setBackLinkCount( int no ) ; 501 502 /** 503 * ヘッダーを出力する間隔を取得します。 504 * 505 * @og.rev 3.5.2.0 (2003/10/20) 新規作成 506 * 507 * @return ヘッダーの表示間隔 ( 0:通常ヘッダ、n:n回ごとに現れる ) 508 */ 509 int getHeaderSkipCount() ; 510 511 /** 512 * ヘッダーを出力する間隔をセットします。 513 * 514 * 0を指定すると、繰り返しません(つまり、ヘッダーを最初に表示するだけです。) 515 * 数字を指定すると、その回数毎に、ヘッダーをデータの行に挿入します。 516 * 517 * @og.rev 3.5.2.0 (2003/10/20) 新規作成 518 * 519 * @param hsc ヘッダーの表示間隔 ( 0:通常ヘッダ、n:n回ごとに現れる ) 520 */ 521 void setHeaderSkipCount( int hsc ) ; 522 523 /** 524 * チェックの入った行のみを表示させるかどうか指定します。 525 * 526 * "true" で、チェックの入った行のみを表示させます。 527 * 従来は、TextField系のViewに対して、NEXT,PREVでチェックの 528 * 入った行のみを表示させる機能でしたが、Table系のViewに対しても、 529 * 同様に機能するように、しました。 530 * 初期値は、ViewForm.DEFAULT_SKIP です。 531 * 532 * @og.rev 3.5.3.1 (2003/10/31) 新規追加 533 * 534 * @param flag チェックの入った行のみを表示させるかどうか(true:のみ表示/false:前件表示) 535 */ 536 void setSkip( boolean flag ) ; 537 538 /** 539 * チェックボックスの全チェックを選択するJavaScript の機能を使用するかどうかを指定します。 540 * 541 * 1 で、コントロール用のチェックボックスが現れて、この機能を使用することができるようになります。 542 * 0 は、従来どおりです。 543 * 使用するにあたり、jsp/commpn/default.js にJavaScriptを設定しておきます。(設定済み) 544// * 初期値は、システムパラメータ の VIEW_USE_CHECK_CONTROL です。(0:使用しない) 545 * 546 * @og.rev 3.5.4.3 (2004/01/05) 新規追加 547 * @og.rev 3.7.0.1 (2005/01/31) 全件チェックコントロール変更( boolean ⇒ String ) 548 * 549 * @param flag チェックボックスの全チェックを選択する機能を使用するかどうか 550 * (1:使用する/0:使用しない/2:初期値チェック済み) 551 */ 552 void setUseCheckControl( int flag ) ; 553 554 /** 555 * ヘッダーにソート用リンクを作成するかどうかを指定します。 556 * 557 * "true" で、ヘッダーにソート用リンクを作成します。 558 * false は、作成しません。 559 * 560 * @og.rev 3.5.4.7 (2004/02/06) 新規追加 561 * 562 * @param flag ヘッダーにソート用リンクを作成するかどうか(true:作成する/false:作成しない) 563 */ 564 void setUseTableSorter( boolean flag ) ; 565 566 /** 567 * ヘッダーにソート用リンクを作成する時の、リクエスト引数のMapを設定します。 568 * 569 * ソート用URLに、リクエスト時の引数を設定する必要があります。 570 * そのため、リクエスト時のキーと値のセットをMapで指定します。 571 * このMap は、リクエストキャッシュより取り出します。 572 * 実装では、このMapを元に、URLのQuery部文字列を作成します。処理過程において、 573 * このMap を書き換えることは行いません。 574 * 575 * @og.rev 3.6.0.0 (2004/09/17) 新規作成 576 * 577 * @param map ヘッダーソート時のリンクに追加するリクエスト変数のキャッシュMap 578 */ 579 void makeTableSorterQuery( Map<?,?> map ) ; // 4.3.3.6 (2008/11/15) Generics警告対応 580 581 /** 582 * ViewForm のサブクラスに渡すパラメータマップ。 583 * 584 * @og.rev 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを追加します。 585 * @og.rev 6.4.3.3 (2016/03/04) ConcurrentHashMap を受け取ることを明確にするため、I/FをConcurrentMapに変更します。 586 * 587 * @param map パラメータマップ 588 */ 589 void setParam( ConcurrentMap<String,String> map ) ; // 6.4.3.3 (2016/03/04) 590 591 /** 592 * ViewForm のサブクラスに渡すパラメータ(文字列配列のList)を設定します。 593 * 594 * @og.rev 5.5.8.3 (2011/11/17) Object受け渡しのために追加 595 * 596 * @param list 文字列配列のList 597 */ 598 void setViewArrayList( List<String[]> list) ; 599 600 /** 601 * マーカーオブジェクト(リンク、マーカー)を設定します。 602 * ここでは、旧 ViewForm 属性を 新ViewForm に直接セットします。 603 * 604 * @og.rev 3.5.6.1 (2004/06/25) 新規追加 605 * 606 * @param view ViewFormオブジェクト 607 */ 608 void markerSet( ViewForm view ) ; 609 610 /** 611 * テーブルのバックグラウンドカラーの入れ替えのサイクルをセットします。 612 * 0(ゼブラなし)、-1(ワーニング)、-2以下(エラー)、1(ゼブラ)、2以上(行数まとめ) 613 * 初期値は、1(ゼブラ)です。 614 * 615 * @og.rev 3.5.6.2 (2004/07/05) 新規追加 616 * 617 * @param sycle 0(ゼブラなし)、-1(ワーニング)、-2以下(エラー)、1(ゼブラ)、2以上(行数まとめ) 618 */ 619 void setBgColorCycle( int sycle ) ; 620 621 /** 622 * テーブルのバックグラウンドカラーのクラスに指定するカラム名を指定します。 623 * 624 * 通常のゼブラ模様は、tr 属性のクラス指定として、row_0、row_1 が指定されます。 625 * その代わりに、ここで指定されたカラムの値がクラス属性として設定されます。 626 * (指定するのはカラム名です。行単位にクラス属性の値を変えることが可能です。) 627 * 選択行(row_sel)は、優先して使用されます。 628 * 出力されるクラス名は、"row_" + 属性値 になります。 629 * 630 * @og.rev 5.1.8.0 (2010/07/01) 新規追加 631 * 632 * @param clsClm ゼブラ模様の替わりに指定するクラスを格納したカラム名 633 */ 634 void setBgColorClsClm( final String clsClm ) ; 635 636 /** 637 * スクロールバー用のDIV要素を出力するかどうか(初期値は、false) 638 * 639 * スクロールバー対応する為、テーブルの先頭に、DIV要素を出力します。 640 * 初期値は、システムパラメータ の VIEW_USE_SCROLLBAR です。 641 * ※ 互換性の関係より、false になっています。 642 * ※ 互換性の関係より、新しいタイプのヘッダー固定を、"TYPE2" とします。 643 * 644 * @og.rev 3.5.6.4 (2004/07/16) 新規追加 645 * @og.rev 3.8.0.3 (2005/07/15) barType 変数の追加 646 * @og.rev 4.0.0.0 (2007/04/10) ヘッダー固定のスクロールタイプは、TYPE2 のみにする。 647 * 648 * @param useBar スクロールバー用のDIV要素を出力 [true:出力する/false:出力しない] 649 */ 650 void setUseScrollBar( boolean useBar ); 651 652 /** 653 * 指定の行番号まで画面をスクロールさせる場合の行番号を設定します。 654 * 655 * 画面をスクロール後、リンク等で他画面を表示後、戻ってきた場合に、 656 * 先のスクロール位置まで戻します。 657 * ただし、厳密に戻すことはできないため、大体のあたりに戻します。 658 * useSelRowColor は、選択行に色づけするかどうかを指定します。 659 * 660 * @og.rev 3.7.0.3 (2005/03/01) 新規追加 661 * @og.rev 3.7.1.1 (2005/05/31) 選択行マーカーの使用有無 662 * 663 * @param rowNo 指定の行番号まで画面をスクロールさせる場合の行番号 664 * @param useSelRowColor 指定の行番号(選択行)の色を変更するかどうか 665 */ 666 void setScrollRowNo( int rowNo, boolean useSelRowColor ) ; 667 668 /** 669 * 設定値に "_" が含まれている場合にレンデラーを使用するカラムをCSV形式で指定します。 670 * 671 * これは、従来の カラム定義の WRITABLE エディターと同等の働きを行うように 672 * カラム属性を指定します。 673 * WRITABLE エディターは、設定値にアンダーバー "_" が含まれている場合に、 674 * その値を書込み禁止にする機能です。これは、エディター自身が値を判断して 675 * 書き込み許可か禁止かを判断しています。 676 * この動きを汎用的にするため、指定のカラムをCSV形式(CSV)で指定 677 * することにより、レンデラーとエディターを設定値によって動的に切り替える 678 * 機能を実現します。 679 * その場合、表示/編集ともに、先頭のアンダーバーは削除されます。 680 * また、全カラムについて、有効にする場合は、writableControl="*" を設定します。 681 * 682 * @og.rev 3.8.0.9 (2005/10/17) 新規追加 683 * 684 * @param wrtCtrl 書き込み制御を行いたいカラムをCSV形式で指定 685 */ 686 void setWritableControl( String wrtCtrl ) ; 687 688 /** 689 * ogPopup で検索結果の値を返すキーを、CSV形式で指定します。 690 * 691 * popup の検索結果を返す画面で、結果のラジオボタンにイベントセットします。 692 * この場合、オープンもとのwindow に値を返しますが、そのキーをCSV形式で 693 * 指定します。 694 * なお、このメソッドは、一覧表示(HTMLTable)関係のビューのみでサポートして 695 * いますが、チェックメソッドの関係で、それ以外のビューに適用しても素通り 696 * するようにします。(エラーにしません) 697 * 698 * @og.rev 3.8.6.1 (2006/10/20) 新規追加 699 * @og.rev 8.5.4.2 (2024/01/12) PMD 7.0.0 EmptyMethodInAbstractClassShouldBeAbstract 対応 700 * 701 * @param rtnKeys ogPopupで値を返すカラム文字列(CSV形式) 702 */ 703// void setPopupReturnKeys( String rtnKeys ) ; 704 default void setPopupReturnKeys( final String rtnKeys ) { 705 // このメソッドは、一覧表示(HTMLTable)関係のビューのみでサポートしていますが、 706 // チェックメソッドの関係で、それ以外のビューに適用しても素通り 707 // するようにします。(エラーにしません) 708 } 709 710 /** 711 * ビューの高さを指定します。 712 * 713 * @og.rev 4.2.0.0 (2008/03/18) 新規追加 714 * 715 * @param height 単位付き高さ 716 */ 717 void setHeight( String height ) ; 718 719 /** 720 * ビューの幅を指定します。 721 * 722 * @og.rev 4.2.0.0 (2008/03/18) 新規追加 723 * 724 * @param width 単位付き高さ 725 */ 726 void setWidth( String width ) ; 727 728 /** 729 * table要素に対して class 属性を設定します。 730 * 731 * 従来の システムリソースでのテーブルレイアウトの設定を廃止し、 732 * CSSファイルで、指定するように変更しています。 733 * これに伴い、CSSファイルのキーとして、クラス属性を出力します。 734 * view(または、出力されるtableタグ)のレイアウトは、このクラス属性で 735 * 指定することが可能になります。 736 * 初期値は、viewTable です。 737 * 738 * @og.rev 4.0.0.0 (2007/04/16) 新規追加 739 * 740 * @param cls class属性を表す文字列 741 */ 742 void setTableClass( String cls ) ; 743 744 /** 745 * 改廃Cのついていない行をスキップするかどうか指定します。 746 * 747 * "true" で、改廃Cのついた行をスキップします。 748 * 初期値はfalseです。 749 * 750 * @og.rev 4.3.1.0 (2008/09/08) 新規追加 751 * 752 * @param flag 改廃Cのついていない行をスキップするかどうか(true:スキップする/false:スキップしない) 753 */ 754 void setSkipNoEdit( boolean flag ) ; 755 756 /** 757 * 画面遷移なしモードに対応した形で処理を行うかを指定します。 758 * 759 * "true" で、画面遷移なしモードに対応します。 760 * 初期値はfalseです。 761 * 762 * @og.rev 4.3.3.0 (2008/10/01) 新規追加 763 * 764 * @param flag 画面遷移なしモードに対応するかどうか(true:対応する/false:対応しない) 765 */ 766 void setNoTransition( boolean flag ) ; 767 768 /** 769 * ビューで表示したカラムの一覧をCSV形式で返します。 770 * 771 * @og.rev 5.1.6.0 (2010/05/01) 新規追加 772 * 773 * @return ビューで表示したカラムの一覧 774 */ 775 String getViewClms() ; 776 777 /** 778 * 表示項目の編集(並び替え)が可能かどうかを返します。 779 * 780 * @og.rev 5.1.6.0 (2010/05/01) 新規追加 781 * 782 * @return 表示項目の編集(並び替え)が可能かどうか 783 */ 784 boolean isEditable() ; 785 786 /** 787 * このViewFormが作成された画面IDをセットします。 788 * 789 * @og.rev 5.1.7.0 (2010/06/01) 新規追加 790 * 791 * @param gamenId 画面ID 792 */ 793 void setGamenId( final String gamenId ); 794 795 /** 796 * このViewFormが作成された画面IDを返します。 797 * 798 * @og.rev 5.1.7.0 (2010/06/01) 新規追加 799 * 800 * @return 画面ID 801 */ 802 String getGamenId(); 803 804 /** 805 * 一括入力カラムのアシスト機能を利用するカラム名を、CSV形式で与えます。 806 * 807 * これは、カラムの書き込み時に、一括入力可能なカラムをヘッダーに表示し、 808 * 一括登録できる機能を提供します。 809 * この機能は、jsp/common/bulkUpdate.js JavaScript とともに提供されます。 810 * IE については、クリップボードも利用できます。Ctrl-C と Ctrl-V でそれぞれ 811 * 一連のカラムの値の取り出しと書き込みが可能になります。 812 * "*" を指定すると、すべてのカラムを(columnBulkSet)指定したことになります。 813 * 814 * @og.rev 5.2.1.0 (2010/10/01) 新規作成 815 * 816 * @param columnName 例:"OYA,KO,HJO,SU,DYSET,DYUPD" 817 */ 818 void setColumnBulkSet( final String columnName ); 819 820 /** 821 * このViewFormを作成するにあたり、区別するためのクラス属性をセットします。 822 * 823 * 通常は、viewForm より tableId を設定します。 824 * SplitViewTag を使用する場合は、左右分割のため、同じtableId になるため、 825 * 左右で異なるclassを設定してください。 826 * 827 * @og.rev 6.4.6.1 (2016/06/03) 新規追加 828 * 829 * @param clazz Viewのクラス属性 830 */ 831 void setViewClass( final String clazz ); 832}