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 */
016 package org.opengion.plugin.view;
017
018 import org.opengion.hayabusa.common.HybsSystem;
019
020 /**
021 * 検索結果を単純なリスト形式で表示するクラスです?
022 *
023 * こ?クラスでは、検索結果を単純なリストで表示します?
024 * 表示のみでこ?表示フォーマットを利用して??タ編?行うことはできません?
025 *
026 * ?ラ????タは、カンマによって連結され?また??ー部?出力されません?
027 * さらに?ラ??属?値に基づくclass属?等も??出力されません?
028 *
029 * AbstractViewForm により、setter/getterメソ?の?ォルト実?提供して?す?
030 * 各HTMLのタグに?な setter/getterメソ?のみ?追?義して?す?
031 *
032 * AbstractViewForm を継承して?為,ロケールに応じたラベルを?力させる事が出来ます?
033 *
034 * @og.group 画面表示
035 *
036 * @version 4.0
037 * @author Hiroki Nakamura
038 * @since JDK5.0,
039 */
040 public class ViewForm_HTMLSimpleList extends ViewForm_HTMLTable {
041 //* こ?プログラ??VERSION??を設定します? {@value} */
042 private static final String VERSION = "5.1.6.0 (2010/05/01)" ;
043
044 // 警告時の行ごとに色を変更する時?、デフォルトクラス属?
045 private static final String BG_WARNING_COLOR = " class=\"row_warning\"";
046
047 // エラー時?行ごとに色を変更する時?、デフォルトクラス属?
048 private static final String BG_ERROR_COLOR = " class=\"row_error\"";
049
050 private String color_row = "";
051
052 // 4.3.4.4 (2009/01/01)
053 // /**
054 // * ?ォルトコンストラクター
055 // *
056 // */
057 // public ViewForm_HTMLSimpleList() {
058 // super();
059 // }
060
061 // 4.3.4.4 (2009/01/01)
062 // /**
063 // * ?をクリア(初期?します?
064 // *
065 // */
066 // public void clear() {
067 // super.clear();
068 // }
069
070 /**
071 * DBTableModel から HTML??を作?して返します?
072 * startNo(表示開始位置)から、pageSize(表示件数)までのView??を作?します?
073 * 表示残り??タ?pageSize 以下?場合?,残りの??タをすべて出力します?
074 *
075 * @param startNo 表示開始位置
076 * @param pageSize 表示件数
077 *
078 * @return DBTableModelから作?され?HTML??
079 */
080 @Override
081 public String create( final int startNo, final int pageSize ) {
082 if( getRowCount() == 0 ) { return ""; }
083
084 int lastNo = getLastNo( startNo, pageSize );
085
086 StringBuilder out = new StringBuilder( HybsSystem.BUFFER_LARGE );
087
088 int clmCnt = getColumnCount();
089 for( int row=startNo; row<lastNo; row++ ) {
090 if( isSkip( row ) || isSkipNoEdit( row ) ) { continue; }
091
092 if( row != startNo ) { out.append( "<br />" ); }
093
094 out.append( "<span " +getBgColorCycleClass(row) + ">" );
095 boolean isFirstColumn = true;
096 for(int column = 0; column < clmCnt; column++) {
097 if( isColumnDisplay( column ) ) {
098 if( isColumnDisplay( column ) ) {
099 if( isFirstColumn ) {
100 int no = row + 1;
101 out.append( no + "." );
102 }
103 else {
104 out.append( "," );
105 }
106 out.append( getValueLabel(row,column) );
107 isFirstColumn = false;
108 }
109 }
110 }
111 out.append( "</span>" );
112 }
113
114 return out.toString();
115 }
116
117 /**
118 * ??ブルのバックグラウンドカラーの入れ替え?サイクルをセ?します?
119 * 0以?通常)?1(ワーニング)?2以?エラー)
120 * 初期値は?以?通常)です?
121 *
122 * @param sycle 0以?通常)?1(ワーニング)?2以?エラー)
123 */
124 @Override
125 public void setBgColorCycle( final int sycle ) {
126 if( sycle == -1 ) { // -1(ワーニング)
127 color_row = BG_WARNING_COLOR ;
128 }
129 else if( sycle < -1 ) { // -2以?エラー)
130 color_row = BG_ERROR_COLOR ;
131 }
132 }
133
134 /**
135 * ??ブルのバックグラウンドカラーの値をセ?します?
136 *
137 * @param row 行番号( ?から始め?)
138 *
139 * @return 行?色を指定す?class 属?( cssファイルで??)
140 */
141 @Override
142 protected String getBgColorCycleClass( final int row ) {
143 return color_row ;
144 }
145
146 /**
147 * 表示?の編?並び替?が可能かど?を返しま?
148 *
149 * @og.rev 5.1.6.0 (2010/05/01) 新規追?
150 *
151 * @return 表示?の編?並び替?が可能かど?(false:不可能)
152 */
153 @Override
154 public boolean isEditable() {
155 return false;
156 }
157
158 }