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.hayabusa.taglib;
017
018 import org.opengion.hayabusa.common.HybsSystem;
019 import org.opengion.hayabusa.common.HybsSystemException;
020 import org.opengion.fukurou.util.StringUtil;
021 import org.opengion.fukurou.util.TagBuffer;
022
023 /**
024 * 明細棒グラフ(横棒?縦棒)に使用します?
025 *
026 * iBar タグは、TDタグの繰返し部に記述することで、横棒?縦棒グラフを作?します?
027 * 使用するには、headタグで、xxxx ="true" を設定する?があります?
028 * これにより、common/option/adjustBar.js が読み込まれます?
029 *
030 * type は、グラフ要??表示形式を?します?0?? が予?で?,1,2,6 が現時点で実?みです?
031 * 0:ラベル表示 1:横?2:差? 6:縦?
032 *
033 * <table border="1" frame="box" rules="all">
034 * <caption>棒グラ?描画方?/caption>
035 * <tr><th colspan="2">横方向描画 </th><th colspan="2">縦方向描画 </th></tr>
036 * <tr><td>0</td><td>ラベル表示?比率??捗率など??/td><td>5</td><td>(保留 未実? </td></tr>
037 * <tr><td>1</td><td>横? </td><td>6</td><td>縦? </td></tr>
038 * <tr><td>2</td><td>差? </td><td>7</td><td>(保留 未実? </td></tr>
039 * <tr><td>3</td><td>(保留 未実? </td><td>8</td><td>(保留 未実? </td></tr>
040 * <tr><td>4</td><td>(保留 未実? </td><td>9</td><td>(保留 未実? </td></tr>
041 * </table>
042 *
043 * value は、位置?さを設定します?設定方法?、type 毎に異なります?
044 * baseVal は、グラフ要??描画開始位置を設定します?
045 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します?
046 * <table border="1" frame="box" rules="all">
047 * <caption>type 別設定方?/caption>
048 * <tr><th>type</th><th>設定? </th><th>説? </th></tr>
049 * <tr><td>0 </td><td>[V1] </td><td>xx% また? 0.xx??比率を設定する???のみ??, 描画位置?baseValの?ラ??合計? * カラ?1の値</td></tr>
050 * <tr><td>1 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr>
051 * <tr><td>2 </td><td>[V1],[V2],…,[Vn]</td><td>描画位置?baseValの?ラ??合計? , 差?の長さ=valueの?ラ??合計? - baseValの?ラ?計?</td></tr>
052 * <tr><td>6 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr>
053 * </table>
054 *
055 * color は、棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定します?
056 * こ?コード?、予め決められた色画像を呼び出します?で、任意?色が使えると?事ではありません?
057 * <table border="1" frame="box" rules="all">
058 * <caption>色番号 対応表</caption>
059 * <tr><th>色番号</th><th>設定? </th><th>棒色 </th><th>?/th><th>横棒サンプル</th><th>縦棒サンプル</th></tr>
060 * <tr><td> 0</td><td>blue </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue.png);"> ?/td><td style="background-image:url(../image/H_blue.png);"> ?/td></tr>
061 * <tr><td> 1</td><td>black </td><td>? </td><td> </td><td style="background-image:url(../image/W_black.png);"> ?/td><td style="background-image:url(../image/H_black.png);"> ?/td></tr>
062 * <tr><td> 2</td><td>brown </td><td>茶 </td><td> </td><td style="background-image:url(../image/W_brown.png);"> ?/td><td style="background-image:url(../image/H_brown.png);"> ?/td></tr>
063 * <tr><td> 3</td><td>green </td><td>? </td><td> </td><td style="background-image:url(../image/W_green.png);"> ?/td><td style="background-image:url(../image/H_green.png);"> ?/td></tr>
064 * <tr><td> 4</td><td>lightblue </td><td>? </td><td> </td><td style="background-image:url(../image/W_lightblue.png);"> ?/td><td style="background-image:url(../image/H_lightblue.png);"> ?/td></tr>
065 * <tr><td> 5</td><td>lightgreen </td><td>?? </td><td> </td><td style="background-image:url(../image/W_lightgreen.png);"> ?/td><td style="background-image:url(../image/H_lightgreen.png);"> ?/td></tr>
066 * <tr><td> 6</td><td>orange </td><td>オレンジ </td><td> </td><td style="background-image:url(../image/W_orange.png);"> ?/td><td style="background-image:url(../image/H_orange.png);"> ?/td></tr>
067 * <tr><td> 7</td><td>pink </td><td>ピンク </td><td> </td><td style="background-image:url(../image/W_pink.png);"> ?/td><td style="background-image:url(../image/H_pink.png);"> ?/td></tr>
068 * <tr><td> 8</td><td>purple </td><td>紫 </td><td> </td><td style="background-image:url(../image/W_purple.png);"> ?/td><td style="background-image:url(../image/H_purple.png);"> ?/td></tr>
069 * <tr><td> 9</td><td>red </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red.png);"> ?/td><td style="background-image:url(../image/H_red.png);"> ?/td></tr>
070 * <tr><td> 10</td><td>yellow </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow.png);"> ?/td><td style="background-image:url(../image/H_yellow.png);"> ?/td></tr>
071 * <tr><td> 11</td><td>navy </td><td>? </td><td> </td><td style="background-image:url(../image/W_navy.png);"> ?/td><td style="background-image:url(../image/H_navy.png);"> ?/td></tr>
072 * <tr><td> 12</td><td>teal </td><td>青? </td><td> </td><td style="background-image:url(../image/W_teal.png);"> ?/td><td style="background-image:url(../image/H_teal.png);"> ?/td></tr>
073 * <tr><td> 13</td><td>gray </td><td>灰 </td><td> </td><td style="background-image:url(../image/W_gray.png);"> ?/td><td style="background-image:url(../image/H_gray.png);"> ?/td></tr>
074 * <tr><td> 14</td><td>indigo </td><td>? </td><td> </td><td style="background-image:url(../image/W_indigo.png);"> ?/td><td style="background-image:url(../image/H_indigo.png);"> ?/td></tr>
075 * <tr><td> 15</td><td>slategray </td><td>? </td><td> </td><td style="background-image:url(../image/W_slategray.png);"> ?/td><td style="background-image:url(../image/H_slategray.png);"> ?/td></tr>
076 * <tr><td> 16</td><td>chocorlate </td><td>チョコレー?</td><td> </td><td style="background-image:url(../image/W_chocorlate.png);"> ?/td><td style="background-image:url(../image/H_chocorlate.png);"> ?/td></tr>
077 * <tr><td> 17</td><td>darkgreen </td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkgreen.png);"> ?/td><td style="background-image:url(../image/H_darkgreen.png);"> ?/td></tr>
078 * <tr><td> 18</td><td>violet </td><td>すみ?</td><td> </td><td style="background-image:url(../image/W_violet.png);"> ?/td><td style="background-image:url(../image/H_violet.png);"> ?/td></tr>
079 * <tr><td> 19</td><td>darkslategray</td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkslategray.png);"> ?/td><td style="background-image:url(../image/H_darkslategray.png);"> ?/td></tr>
080 * <tr><td> 20</td><td>lime </td><td>? </td><td> </td><td style="background-image:url(../image/W_lime.png);"> ?/td><td style="background-image:url(../image/H_lime.png);"> ?/td></tr>
081 * <tr><td> 21</td><td>aqua </td><td>水色 </td><td> </td><td style="background-image:url(../image/W_aqua.png);"> ?/td><td style="background-image:url(../image/H_aqua.png);"> ?/td></tr>
082 * <tr><td> 22</td><td>maroon </td><td>ひわだ? </td><td> </td><td style="background-image:url(../image/W_maroon.png);"> ?/td><td style="background-image:url(../image/H_maroon.png);"> ?/td></tr>
083 * <tr><td> 23</td><td>olive </td><td>オリー?</td><td> </td><td style="background-image:url(../image/W_olive.png);"> ?/td><td style="background-image:url(../image/H_olive.png);"> ?/td></tr>
084 * <tr><td> 24</td><td>silver </td><td>? </td><td> </td><td style="background-image:url(../image/W_silver.png);"> ?/td><td style="background-image:url(../image/H_silver.png);"> ?/td></tr>
085 * <tr><td> 25</td><td>fuchsia </td><td>赤紫 </td><td> </td><td style="background-image:url(../image/W_fuchsia.png);"> ?/td><td style="background-image:url(../image/H_fuchsia.png);"> ?/td></tr>
086 * <tr><td> ?/td><td> </td><td> </td><td> </td><td> ?/td><td> ?/td></tr>
087 * <tr><td> BK</td><td>black2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_black2.png);"> ?/td><td style="background-image:url(../image/H_black2.png);"> ?/td></tr>
088 * <tr><td> WT</td><td>white2 </td><td>白 </td><td> </td><td style="background-image:url(../image/W_white2.png);"> ?/td><td style="background-image:url(../image/H_white2.png);"> ?/td></tr>
089 * <tr><td> BL</td><td>blue2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue2.png);"> ?/td><td style="background-image:url(../image/H_blue2.png);"> ?/td></tr>
090 * <tr><td> RD</td><td>red2 </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red2.png);"> ?/td><td style="background-image:url(../image/H_red2.png);"> ?/td></tr>
091 * <tr><td> YL</td><td>yellow2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow2.png);"> ?/td><td style="background-image:url(../image/H_yellow2.png);"> ?/td></tr>
092 * </table>
093 *
094 * colorNo 色番号は、色コードを直接?する?ではなく?番号で?する?合に使用します?
095 * 棒グラフ要??ype="1"(横?,"6"(縦???色を設定します?
096 * "1??5 , BK,WT,BL,RD,YL" の色番号で?します?
097 * 色番号は、与えた数字を?色数で割り算した余を使用します?で??番の場合で?
098 * 繰返し使われます?特殊な色として、BK,WT,BL,RD,YLは、番号ではなく記号で?できます?
099 *
100 * zeroBorder は?true" で、?がゼロの時にも???バ?を表示する?
101 *
102 * graphThick は、グラフ?バ?の??します?
103 *
104 * @og.formSample
105 * ●形式?lt;og:iBar ... />
106 * ●body?な?
107 * ●前提:headタグで、adjustEvent="Bar" を指定してください?
108 *
109 * ●Tag定義??
110 * <og:iBar
111 * type 【TAG】グラフ要??表示形式を設?0:ラベル表示 1:横?2:差? 6:縦?(??)
112 * value 【TAG】グラフ要??位置?さを設?typeにより設定方法が異な?(??)
113 * baseVal 【TAG】グラフ要??描画開始位置を設?type=0,2の場合??)
114 * color 【TAG】棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定する?
115 * colorNo 【TAG?1??5 , BK,WT,BL,RD,YL" の色番号を設定する?
116 * text 【TAG】バー上に表示する?ストを?します?
117 * href 【TAG】リンク作?時?値を設定します?
118 * target 【TAG】リンク作?時?ターゲ?名を?します?
119 * optionAttributes 【TAG?{kay:val,key:val} 形式で、属?を追?ます?
120 * zeroBorder 【TAG】最小?バ?を表示するかど?[true/false]を指定しま?初期値:false)
121 * graphThick 【TAG】グラフ?バ?の??します?
122 * paddingLeft 【TAG】ガントバーの間?左区?スペ?スを指定しま?初期値=null)
123 * paddingRigth 【TAG】ガントバーの間?右区?スペ?スを指定しま?初期値=null)
124 * debug 【TAG】デバッグ??を?力するかど?[true/false]を指定しま?初期値:false)
125 * />
126 *
127 * ●使用?
128 * <og:view command="{@command}" />
129 * <og:tbody rowspan="1" >
130 * <tr>
131 * <og:td>
132 * <og:iBar
133 * type = "X"
134 * value = "[V1],[V2],…,[Vn]"
135 * baseVal = "[BV1],[BV2],…,[BVn]"
136 * color = "C1,C2,…,Cn"
137 * />
138 * </td> </tr>
139 * </og:tbody>
140 * </og:view>
141 *
142 * @og.rev 5.6.3.2 (2013/04/12) 新規作?
143 * @og.group 画面部?
144 *
145 * @version 5.0
146 * @author Kazuhiko Hasegawa
147 * @since JDK1.7,
148 */
149 public class ViewIBarTag extends CommonTagSupport {
150 //* こ?プログラ??VERSION??を設定します? {@value} */
151 private static final String VERSION = "5.6.4.3 (2013/05/24)" ;
152
153 private static final long serialVersionUID = 564320130524L ;
154
155 /** type 引数に渡す事?出来?タイプリス? */
156 private static final String[] TYPE_LIST = new String[] { "0" , "1" , "2" , "6" };
157
158 private TagBuffer tag = new TagBuffer( "iBar" ) ;
159
160 // ペ?ジ?? iBar タグのid設定用のユニ?ク番号?
161 // java.util.concurrent.atomic.AtomicInteger を使?でもな??
162 private static int tagId = 100;
163
164 /**
165 * Taglibの終?グが見つかったときに処??doEndTag() ?オーバ?ライドします?
166 *
167 * @return 後続????
168 */
169 @Override
170 public int doEndTag() {
171 debugPrint(); // 4.0.0 (2005/02/28)
172
173 tag.add( "id",getTagId() );
174
175 jspPrint( tag.makeTag() );
176
177 return(EVAL_PAGE); // ペ?ジの残りを評価する?
178 }
179
180 /**
181 * タグリブオブジェクトをリリースします?
182 * キャ?ュされて再利用される?で、フィールド?初期設定を行います?
183 *
184 */
185 @Override
186 protected void release2() {
187 super.release2();
188 tag = new TagBuffer( "iBar" );
189 }
190
191 /**
192 * 【TAG】グラフ要??表示形式を設?0:ラベル表示 1:横?2:差? 6:縦?しま???)?
193 *
194 * @og.tag
195 * type は、グラフ要??表示形式を?します?0?? が予?で?,1,2,6 が現時点で実?みです?
196 * 0:ラベル表示 1:横?2:差? 6:縦?
197 *
198 * @param type グラフ要??表示形式[0:ラベル表示 1:横?2:差? 6:縦棒]
199 */
200 public void setType( final String type ) {
201 String tmpType = StringUtil.nval( getRequestParameter( type ),null );
202
203 if( tmpType == null || !check( tmpType, TYPE_LIST ) ) {
204 String errMsg = "??表示形?type)は??か?また?、指定?値のみ登録可能です?"
205 + HybsSystem.CR
206 + "type=[" + tmpType + "] "
207 + HybsSystem.CR
208 + "登録可能な値=" + StringUtil.array2csv( TYPE_LIST ) ;
209 throw new HybsSystemException( errMsg );
210 }
211
212 tag.add( "type",tmpType );
213 }
214
215 /**
216 * 【TAG】グラフ要??位置?さを設定しま?typeにより設定方法が異な?(??)
217 *
218 * @og.tag
219 * value は、グラフ要??位置?さを設定します?設定方法?、type 毎に異なります?
220 * baseVal は、グラフ要??描画開始位置を設定します?
221 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します?
222 * <table border="1" frame="box" rules="all">
223 * <caption>グラフ?type別設定方?/caption>
224 * <tr><th>type</th><th>設定? </th><th>説? </th></tr>
225 * <tr><td>0 </td><td>[V1] </td><td>xx% また? 0.xx??比率を設定する???のみ?? 描画位置?baseValの?ラ??合計? * カラ?1の値</td></tr>
226 * <tr><td>1 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr>
227 * <tr><td>2 </td><td>[V1],[V2],…,[Vn]</td><td>描画位置?baseValの?ラ??合計? , 差?の長さ=valueの?ラ??合計? - baseValの?ラ?計?</td></tr>
228 * <tr><td>6 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr>
229 * </table>
230 *
231 * @param val グラフ要??位置??
232 */
233 public void setValue( final String val ) {
234 String tmpVal = StringUtil.nval( getRequestParameter( val ),null );
235
236 if( tmpVal == null ) {
237 String errMsg = "value は、??です?";
238 throw new HybsSystemException( errMsg );
239 }
240
241 tag.add( "value",tmpVal );
242 }
243
244 /**
245 * 【TAG】グラフ要??描画開始位置を設定します?
246 *
247 * @og.tag
248 * こ?値は、type=0,2の場合???になります?
249 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します?
250 * <table border="1" frame="box" rules="all">
251 * <caption>グラフ?type別設定方?/caption>
252 * <tr><th>type</th><th>設定? </th><th>説? </th></tr>
253 * <tr><td>0 </td><td>[V1] </td><td>xx% また? 0.xx??比率を設定する???のみ??, 描画位置?baseValの?ラ??合計? * カラ?1の値</td></tr>
254 * <tr><td>2 </td><td>[V1],[V2],…,[Vn]</td><td>描画位置?baseValの?ラ??合計? , 差?の長さ=valueの?ラ??合計? - baseValの?ラ?計?</td></tr>
255 * </table>
256 *
257 * @param bval グラフ要??描画開始位置
258 */
259 public void setBaseVal( final String bval ) {
260 tag.add( "baseVal",StringUtil.nval( getRequestParameter( bval ), null ) );
261 }
262
263 /**
264 * 【TAG】棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定します?
265 *
266 * @og.tag
267 * color は、棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定します?
268 * こ?コード?、予め決められた色画像を呼び出します?で、任意?色が使えると?事ではありません?
269 * 色??、横棒?場合?、image/W_色コー?png で、縦棒?場合?、image/H_色コー?png の画像を使?す?
270 * 色コー?と 色番号が同時に?された場合?、色コー?が優先されます?
271 *
272 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します?
273 * <table border="1" frame="box" rules="all">
274 * <caption>色番号 対応表</caption>
275 * <tr><th>色番号</th><th>設定? </th><th>棒色 </th><th>?/th><th>横棒サンプル</th><th>縦棒サンプル</th></tr>
276 * <tr><td> 0</td><td>blue </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue.png);"> ?/td><td style="background-image:url(../image/H_blue.png);"> ?/td></tr>
277 * <tr><td> 1</td><td>black </td><td>? </td><td> </td><td style="background-image:url(../image/W_black.png);"> ?/td><td style="background-image:url(../image/H_black.png);"> ?/td></tr>
278 * <tr><td> 2</td><td>brown </td><td>茶 </td><td> </td><td style="background-image:url(../image/W_brown.png);"> ?/td><td style="background-image:url(../image/H_brown.png);"> ?/td></tr>
279 * <tr><td> 3</td><td>green </td><td>? </td><td> </td><td style="background-image:url(../image/W_green.png);"> ?/td><td style="background-image:url(../image/H_green.png);"> ?/td></tr>
280 * <tr><td> 4</td><td>lightblue </td><td>? </td><td> </td><td style="background-image:url(../image/W_lightblue.png);"> ?/td><td style="background-image:url(../image/H_lightblue.png);"> ?/td></tr>
281 * <tr><td> 5</td><td>lightgreen </td><td>?? </td><td> </td><td style="background-image:url(../image/W_lightgreen.png);"> ?/td><td style="background-image:url(../image/H_lightgreen.png);"> ?/td></tr>
282 * <tr><td> 6</td><td>orange </td><td>オレンジ </td><td> </td><td style="background-image:url(../image/W_orange.png);"> ?/td><td style="background-image:url(../image/H_orange.png);"> ?/td></tr>
283 * <tr><td> 7</td><td>pink </td><td>ピンク </td><td> </td><td style="background-image:url(../image/W_pink.png);"> ?/td><td style="background-image:url(../image/H_pink.png);"> ?/td></tr>
284 * <tr><td> 8</td><td>purple </td><td>紫 </td><td> </td><td style="background-image:url(../image/W_purple.png);"> ?/td><td style="background-image:url(../image/H_purple.png);"> ?/td></tr>
285 * <tr><td> 9</td><td>red </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red.png);"> ?/td><td style="background-image:url(../image/H_red.png);"> ?/td></tr>
286 * <tr><td> 10</td><td>yellow </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow.png);"> ?/td><td style="background-image:url(../image/H_yellow.png);"> ?/td></tr>
287 * <tr><td> 11</td><td>navy </td><td>? </td><td> </td><td style="background-image:url(../image/W_navy.png);"> ?/td><td style="background-image:url(../image/H_navy.png);"> ?/td></tr>
288 * <tr><td> 12</td><td>teal </td><td>青? </td><td> </td><td style="background-image:url(../image/W_teal.png);"> ?/td><td style="background-image:url(../image/H_teal.png);"> ?/td></tr>
289 * <tr><td> 13</td><td>gray </td><td>灰 </td><td> </td><td style="background-image:url(../image/W_gray.png);"> ?/td><td style="background-image:url(../image/H_gray.png);"> ?/td></tr>
290 * <tr><td> 14</td><td>indigo </td><td>? </td><td> </td><td style="background-image:url(../image/W_indigo.png);"> ?/td><td style="background-image:url(../image/H_indigo.png);"> ?/td></tr>
291 * <tr><td> 15</td><td>slategray </td><td>? </td><td> </td><td style="background-image:url(../image/W_slategray.png);"> ?/td><td style="background-image:url(../image/H_slategray.png);"> ?/td></tr>
292 * <tr><td> 16</td><td>chocorlate </td><td>チョコレー?</td><td> </td><td style="background-image:url(../image/W_chocorlate.png);"> ?/td><td style="background-image:url(../image/H_chocorlate.png);"> ?/td></tr>
293 * <tr><td> 17</td><td>darkgreen </td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkgreen.png);"> ?/td><td style="background-image:url(../image/H_darkgreen.png);"> ?/td></tr>
294 * <tr><td> 18</td><td>violet </td><td>すみ?</td><td> </td><td style="background-image:url(../image/W_violet.png);"> ?/td><td style="background-image:url(../image/H_violet.png);"> ?/td></tr>
295 * <tr><td> 19</td><td>darkslategray</td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkslategray.png);"> ?/td><td style="background-image:url(../image/H_darkslategray.png);"> ?/td></tr>
296 * <tr><td> 20</td><td>lime </td><td>? </td><td> </td><td style="background-image:url(../image/W_lime.png);"> ?/td><td style="background-image:url(../image/H_lime.png);"> ?/td></tr>
297 * <tr><td> 21</td><td>aqua </td><td>水色 </td><td> </td><td style="background-image:url(../image/W_aqua.png);"> ?/td><td style="background-image:url(../image/H_aqua.png);"> ?/td></tr>
298 * <tr><td> 22</td><td>maroon </td><td>ひわだ? </td><td> </td><td style="background-image:url(../image/W_maroon.png);"> ?/td><td style="background-image:url(../image/H_maroon.png);"> ?/td></tr>
299 * <tr><td> 23</td><td>olive </td><td>オリー?</td><td> </td><td style="background-image:url(../image/W_olive.png);"> ?/td><td style="background-image:url(../image/H_olive.png);"> ?/td></tr>
300 * <tr><td> 24</td><td>silver </td><td>? </td><td> </td><td style="background-image:url(../image/W_silver.png);"> ?/td><td style="background-image:url(../image/H_silver.png);"> ?/td></tr>
301 * <tr><td> 25</td><td>fuchsia </td><td>赤紫 </td><td> </td><td style="background-image:url(../image/W_fuchsia.png);"> ?/td><td style="background-image:url(../image/H_fuchsia.png);"> ?/td></tr>
302 * <tr><td> ?/td><td> </td><td> </td><td> </td><td> ?/td><td> ?/td></tr>
303 * <tr><td> BK</td><td>black2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_black2.png);"> ?/td><td style="background-image:url(../image/H_black2.png);"> ?/td></tr>
304 * <tr><td> WT</td><td>white2 </td><td>白 </td><td> </td><td style="background-image:url(../image/W_white2.png);"> ?/td><td style="background-image:url(../image/H_white2.png);"> ?/td></tr>
305 * <tr><td> BL</td><td>blue2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue2.png);"> ?/td><td style="background-image:url(../image/H_blue2.png);"> ?/td></tr>
306 * <tr><td> RD</td><td>red2 </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red2.png);"> ?/td><td style="background-image:url(../image/H_red2.png);"> ?/td></tr>
307 * <tr><td> YL</td><td>yellow2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow2.png);"> ?/td><td style="background-image:url(../image/H_yellow2.png);"> ?/td></tr>
308 * </table>
309 *
310 * @param color グラフ要??位置??
311 */
312 public void setColor( final String color ) {
313 tag.add( "color",StringUtil.nval( getRequestParameter( color ),null ) );
314 }
315
316 /**
317 * 【TAG】グラフ要??色番号を設定します?
318 *
319 * @og.tag
320 * 色番号は、色コードを直接?する?ではなく?番号で?する?合に使用します?
321 * 棒グラフ要??ype="1"(横?,"6"(縦???色を設定します?
322 * "1??5 , BK,WT,BL,RD,YL" の色番号で?します?
323 * 色番号は、与えた数字を?色数で割り算した余を使用します?で??番の場合で?
324 * 繰返し使われます?特殊な色として、BK,WT,BL,RD,YLは、番号ではなく記号で?できます?
325 * 色コー?と 色番号が同時に?された場合?、色コー?が優先されます?
326 *
327 * @param clrNo グラフ要??描画開始位置
328 * @see #setColor( String )
329 */
330 public void setColorNo( final String clrNo ) {
331 tag.add( "colorNo",StringUtil.nval( getRequestParameter( clrNo ),null ) );
332 }
333
334 /**
335 * 【TAG】バー上に表示する?ストを?します?
336 *
337 * @og.tag
338 * バ?の上に、?などの?を重?て表示できます?
339 *
340 * @param text バ?上に表示する?ス?
341 */
342 public void setText( final String text ) {
343 tag.add( "text",StringUtil.nval( getRequestParameter( text ),null ) );
344 }
345
346 /**
347 * 【TAG】リンク作?時?値を設定します?
348 *
349 * @og.tag
350 * バ?の上??に対して、リンクを作?できます?
351 *
352 * @param href バ?上に表示する?ス?
353 * @see #setTarget( String )
354 */
355 public void setHref( final String href ) {
356 tag.add( "href",StringUtil.nval( getRequestParameter( href ),null ) );
357 }
358
359 /**
360 * 【TAG】リンク作?時?ターゲ?名を?します?
361 *
362 * @og.tag
363 * バ?の上??に対して、リンクを作?するとき?、ターゲ?名を?できます?
364 *
365 * @param target リンク作?時?ターゲ?
366 * @see #setHref( String )
367 */
368 public void setTarget( final String target ) {
369 tag.add( "target",StringUtil.nval( getRequestParameter( target ),null ) );
370 }
371
372 /**
373 * 【TAG】既定?属?以外?属?を追?ます?
374 *
375 * @og.tag
376 * {kay:val,key:val} 形式で、属?を追?ます?
377 *
378 * @param optAtt 属?を追?
379 */
380 public void setOptionAttributes( final String optAtt ) {
381 tag.add( "optionAttributes",StringUtil.nval( getRequestParameter( optAtt ),null ) );
382 }
383
384 /**
385 * 【TAG】最小?バ?を表示するかど?[true/false]を指定しま?初期値:false)
386 *
387 * @og.tag
388 * 設定?が?ゼロの場合に、バーを?した??合?、true に?
389 * 何も出したくな??合?、false に設定します?
390 * 初期値は、false(バ?を?さな? です?
391 *
392 * @param zeroBorder ??バ?を表示するかど?[true/false]
393 */
394 public void setZeroBorder( final String zeroBorder ) {
395 tag.add( "zeroBorder",StringUtil.nval( getRequestParameter( zeroBorder ),null ) );
396 }
397
398 /**
399 * 【TAG】グラフ?バ?の??します?
400 *
401 * @og.tag
402 * 何も?しな??合???常のバ?の画像ファイルが適用されます?
403 *
404 * @param graphThick グラフ?バ?の?
405 */
406 public void setGraphThick( final String graphThick ) {
407 tag.add( "graphThick",StringUtil.nval( getRequestParameter( graphThick ),null ) );
408 }
409
410 /**
411 * 【TAG】バーの間?左区?スペ?スをピクセルで?しま?初期値:null)
412 *
413 * @og.tag
414 * バ?表示で連続して同じ色で繋げる?合?くっつ?表示されます?
415 * これを?区別できるように、左区?スペ?スをピクセルで?します?
416 *
417 * 初期値は、null(属?を?力しな? です?
418 *
419 * @og.rev 5.6.4.3 (2013/05/24) 新規追?
420 *
421 * @param paddingLeft 左区?スペ?ス
422 * @see #setPaddingRigth( String )
423 */
424 public void setPaddingLeft( final String paddingLeft ) {
425 tag.add( "paddingLeft",StringUtil.nval( getRequestParameter( paddingLeft ),null ) );
426 }
427
428 /**
429 * 【TAG】バーの間?右区?スペ?スをピクセルで?しま?初期値:null)
430 *
431 * @og.tag
432 * バ?表示で連続して同じ色で繋げる?合?くっつ?表示されます?
433 * これを?区別できるように、右区?スペ?スをピクセルで?します?
434 *
435 * 初期値は、null(属?を?力しな? です?
436 *
437 * @og.rev 5.6.4.3 (2013/05/24) 新規追?
438 *
439 * @param paddingRigth 左区?スペ?ス
440 * @see #setPaddingLeft( String )
441 */
442 public void setPaddingRigth( final String paddingRigth ) {
443 tag.add( "paddingRigth",StringUtil.nval( getRequestParameter( paddingRigth ),null ) );
444 }
445
446 /**
447 * iBar タグがユニ?クになるよ? id 値を返します?
448 *
449 * iBar は、レコードに?作?されるため?まず?iBar作?都度のユニ?クIDと
450 * それをViewFormで展開後にユニ?クな番号になる様にするための行番号が?合わされ?
451 * ID が?です?
452 * iBatXXX_[I] 形式?IDを作?します?
453 * 別スレ?による同時アクセスで整合?が?綻(同じ番号が返る)しても?問題ありません?
454 *
455 * @return ユニ?クな id 値
456 */
457 private static String getTagId() {
458 String id = "IBar" + ( tagId++ ) + "_[I]";
459
460 if( tagId > 999 ) { tagId = 100; }
461
462 return ( id );
463 }
464
465 /**
466 * タグの名称を?返します?
467 * 自??身のクラス名より?自動的に取り出せな?め?こ?メソ?をオーバ?ライドします?
468 *
469 * @return タグの名称
470 */
471 @Override
472 protected String getTagName() {
473 return "iBar" ;
474 }
475
476 /**
477 * こ?オブジェクト???表現を返します?
478 * 基本???目?使用します?
479 *
480 * @return こ?クラスの??表現
481 */
482 @Override
483 public String toString() {
484 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
485 .println( "VERSION" ,VERSION )
486 .println( "tag" ,tag.makeTag() )
487 .println( "Other..." ,getAttributes().getAttribute() )
488 .fixForm().toString() ;
489 }
490 }