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 org.opengion.hayabusa.db.DBTableModel; 019import org.opengion.fukurou.util.Attributes; 020 021/** 022 * DBTableModelの表示を行うインターフェースです。 023 * 各種の表示形式をサポートするには、ViewMarker インターフェースを implements した 024 * クラスを作成して、DBTableModel をセットするだけです。 025 * ViewMarker 自体は,Controller クラスよりアクセスされます。 026 * 027 * ViewMarker の実装クラス( implements されたクラス)に対する 各種設定(たとえば、HTMLタグなど) 028 * は、個々の実装クラス毎に設定します。 029 * 030 * @og.group 画面表示 031 * 032 * @version 4.0 033 * @author Kazuhiko Hasegawa 034 * @since JDK5.0, 035 */ 036public interface ViewMarker { 037 038 /** 039 * 内容をクリア(初期化)します。 040 * 041 */ 042 void clear() ; 043 044 /** 045 * カラムに対するマーカーアトリビュートをセットします。 046 * 047 * @og.rev 4.0.0.0 (2005/08/31) 同一カラムの複数登録を許可します。 048 * 049 * @param attri リンクアトリビュート 050 */ 051 void addAttribute( Attributes attri ) ; 052 053 /** 054 * 内部に DBTableModel をセットします。 055 * 056 * @param table DBTableModelオブジェクト 057 */ 058 void setDBTableModel( DBTableModel table ) ; 059 060 /** 061 * 指定の行列に対するマーカー文字列を返します。 062 * この値は,すでにマーカー文字列処理されている為, RendererValue で 063 * 変換する必要はありません。 064 * 引数の value はそのカラムの値として利用されます。この値は、修飾済みの 065 * 値を与えることが可能です。 066 * 067 * @param row 指定の行 068 * @param column 指定の列 069 * @param value カラムの値 070 * 071 * @return row行,colum列 のマーカー文字列 072 */ 073 String getMarkerString( int row,int column,String value ) ; 074 075 /** 076 * マーカーされたカラム番号の配列を返します。 077 * 078 * これは特殊処理で、Edit機能で、カラム列をキャッシュしているときに、 079 * JSPのソース等の変更時に、変更が反映されない対応を行う場合、 080 * 通常の ViewFormのサブクラスから、Edit専用の ViewForm_HTMLSeqClmTable で 081 * 制御する場合、ViewMarkerのEditMarkerでは、通常非表示(検索の場合)ですが 082 * Editのポップアップ画面に、表示されてしまうのを避けるため、noDisplay に 083 * 強制的にするカラム番号が必要です。 084 * あくまで、暫定処置です。Edit機能を改修するときに、この機能は削除します。 085 * 086 * @og.rev 5.8.6.0 (2015/04/03) 6.0.3.0からの移植 087 * 088 * @return マーカーされたカラム番号の配列 089 */ 090 int[] getColumnNos(); 091}