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.fukurou.db.ConnectionFactory;
019 import org.opengion.fukurou.util.StringUtil;
020 import org.opengion.hayabusa.common.HybsSystem;
021 import org.opengion.hayabusa.common.HybsSystemException;
022 import org.opengion.hayabusa.io.ChartDataset;
023 import org.opengion.hayabusa.db.DBTableModel;
024
025 import java.sql.SQLException;
026 import java.sql.Connection;
027 import java.io.ObjectOutputStream;
028 import java.io.ObjectInputStream;
029 import java.io.IOException;
030
031 /**
032 * BODY部にæŒ?®šã?SQLの検索結果をグラãƒ?å†??棒ã?ç·?で表示するタグですã?
033 *
034 * グラフ化には、JFreeChart (http://www.jfree.org/jfreechart/) を使用してã�?�¾すã?
035 * chartType 属æ?には、ChartFactoryクラスで定義された変換表に基づくã?チャートã?
036 * 種類をæŒ?®šしますã?こã?キーから、レンãƒ?ƒ©ーã‚?ƒ‡ータセãƒ?ƒˆクラスを求めますã?
037 * それぞれのクラス毎に細かい設定å?がありますが、å?期レベルとしましては、主要チャートã?
038 * 主要属æ?のみサポã?トしますã?またã?æŒ?®šã? chartType では使用しなã�?±žæ?を指定したå?合でã‚?
039 * 単に無視するだけで、警告等ã?ありませんので、ご注意くã�?�•ã�??
040 *
041 * å�?±žæ?は、{@XXXX} 変数が使用できますã?
042 * これは、ServletRequest から、XXXX をキーに値を取りå?ã�?こã?変数に割り当てますã?
043 * つまりã?こã?XXXXをキーにリクエストすれã?、この変数に値をセãƒ?ƒˆすることができますã?
044 *
045 * useTableData="false"(初期値)の場合ã?、BODY部に書かれã�?SQL æ–?‚’実行してãƒ??タを取得しますã?
046 * useTableData="true" にすると、その前ã? query タグ等で作æ?した DBTableModel を利用して
047 * グラフ化しますã?そã?場合ã?、BODY部の SQL æ–??、無視されますã?
048 * 利用する DBTableModel は、tableId と scope 属æ?から取得しますã?
049 *
050 * @og.formSample
051 * ●形式ï¼?lt;og:chartDataset renderer="…" … />
052 * ●body?šあã‚?EVAL_BODY_BUFFERED:BODYを評価しã?{@XXXX} を解析しまã�?
053 *
054 * ●Tag定義??
055 * <og:chartDataset
056 * chartType ○ã?TAG】ChartDataset のãƒ??タタイプをæŒ?®šしまã�?å¿??)ã€?
057 * dbid 【TAGã€?通常は使ã�?�¾せん)Datasetオブジェクトを作æ?する時ã?DB接続IDを指定しまã�?
058 * useTableData 【TAG】グラフ化するãƒ??タã‚?DBTableModel から作æ?するかどã�?�‹(初期値:false)
059 * tableId 【TAGã€?通常使ã�?�¾せん)sessionからæ‰?¾—すã‚?DBTableModelオブジェクトã? ID (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])
060 * scope 【TAG】キャãƒ?‚·ュする場合ã?スコープ[request/page/session/applicaton]を指定しまã�?初期値:session)
061 * baseLegend 【TAG】シリーズ単位ã?凡ä¾?の表示可否を設定しまã�?
062 * valueLabel 【TAG】縦軸の表示名称を指定しまã�?
063 * markValues 【TAG】ã?ーカーラインの設定å?をカンマ区åˆ?‚Š形式でè¤?•°æŒ?®šしまã�?
064 * markColors 【TAG】ã?ーカーラインの色をカンマ区åˆ?‚Š形式でè¤?•°æŒ?®šしまã�?
065 * markOverColors 【TAG】ã?ーカーラインのè¶?�Ž時ã?Shape色をカンマ区åˆ?‚Š形式でè¤?•°æŒ?®šしまã�?
066 * dynamicOCNo 【TAG】動çš?�ªマã?カーラインの基準シリーズ番号を設定しまã�?初期値:null)
067 * useMarkAnchor 【TAG】ã?ーカーライン描画時に、その設定å?を表示しまã�?
068 * lowerBound 【TAG】チャートã?縦軸のæœ?°�å?をセãƒ?ƒˆしまã�?初期値:自動計ç®?
069 * upperBound 【TAG】チャートã?縦軸のæœ?¤§値をセãƒ?ƒˆしまã�?初期値:自動計ç®?
070 * tickSize 【TAG】チャートã?縦軸の目盛ã?å¹?‚’セãƒ?ƒˆしまã�?初期値:自動計ç®?
071 * useGradient 【TAG】バーチャートã?グラãƒ??ション処ç�?‚’行うかどã�?�‹[true/false]をセãƒ?ƒˆしまã�?初期値:false)
072 * shapesVisible 【TAG】ラインチャートã?ポイントを四角表示するかどã�?�‹を指定しまã�?初期値:true)
073 * shapeColors 【TAG】データ毎にShapeをå?り替える時ã?色の繰返しパターンを文字å?配å?でæŒ?®šしまã�?
074 * shapeScale 【TAG】shapeの大きさをå?çŽ?Œ‡定で変更しまã�?初期値:null)
075 * useDottedLine 【TAG】ラインチャートã?線をドットラインにするかどã�?�‹[true/false]を指定しまã�?初期値:false 線å?)
076 * seriesColors 【TAG】è¤?•°チャート描画時ã?チャート色の繰返しパターンをCVS形式でè¤?•°æŒ?®šしまã�?
077 * valueLabelsVisible 【TAG】Value(縦軸)のラベルを表示するかどã�?�‹を指定しまã�?初期値:true[表示する])
078 * valueMarksVisible 【TAG】Value(縦軸)のマã?カーを表示するかどã�?�‹を指定しまã�?初期値:true[表示する])
079 * itemLabelVisible 【TAG】データの値(itemText)を表示するかどã�?�‹[true/false/last]を指定しまã�?初期値:false[表示しない])
080 * useItemLabelSep 【TAG】データの値(itemText)の表示に、桁区åˆ?‚Šæ–?—を使用するかどã�?�‹[true/false]を指定しまã�?初期値:true[使用する])
081 * valueInset 【TAG】縦軸の表示領域INSET値(double)を指定しまã�?
082 * barMaxWidth 【TAG】BOXチャートã?バã?å¹??æœ?¤§値(0.0??.0)を指定しまã�?
083 * barItemMargin 【TAG】BOXチャートã?バã?アイãƒ?ƒ のマã?ジン(0.0??.0)を指定しまã�?
084 * barWidth 【TAG】BOXチャートã?バã?å¹?double)を指定しまã�?
085 * visibleLimit 【TAG】表示下限値(これ以下ã?ãƒ??タは未表示)の値(double)を指定しまã�?
086 * domainMargin 【TAG】グラフã?書きå?し位置の調整比率を指定しまã�?
087 * timeFormatType 【TAG】時刻を表すå?合ã?表現の仕方[E1/E2/E3/H1/H2/H3]を指定しまã�?初期値:null)
088 * useVerticalLabels 【TAG】ラベルの表示向きを縦にするかどã�?�‹[false/true]を指定しまã�?初期値:false)
089 * debug 【TAG】デバッグæƒ??をå?力するかどã�?�‹[true/false]を指定しまã�?初期値:false)
090 * > ... Body ...
091 * </og:chartDataset>
092 *
093 * ●使用ä¾?
094 * <og:chartCreate
095 * command = "{@command}"
096 * title = "{@title}"
097 * domainLabel = "{@domainLabel}"
098 * width = "{@width}"
099 * height = "{@height}"
100 * rectangleEdge = "{@rectangleEdge}"
101 * plotOrientation = "{@plotOrientation}"
102 * chartBackColor = "{@chartBackColor}"
103 * plotBackColor = "{@plotBackColor}"
104 * domainMarker = "{@domainMarker}"
105 * useMarkerLabel = "{@useMarkerLabel}" >
106 * <og:chartDataset
107 * chartType = "[Bar|LineAndShape|?¥?¥?¥]" チャートã?種é¡?
108 * baseLegend = "[true|false]" シリーズ単位ã?凡ä¾?の表示可否
109 * valueLabel = "縦軸" 縦軸のラベル
110 * lowerBound = "0" 下限値
111 * upperBound = "5000" 上限値
112 * tickSize = "1000" 縦軸の目盛ã?å¹?
113 * markValues = "2500,2800" 縦軸設定å?(横æ£?
114 * markColors = "RED,GREEN" 縦軸設定ライン色
115 * markOverColors = "BLUE,YELLOW,RED" マã?カーラインのè¶?�Ž時ã?Shape色
116 * dynamicOCNo = "2" 動的なマã?カーラインの基準シリーズ番号
117 * useMarkAnchor = "[true|false]" 縦軸設定å?(横æ£?を表示するかどã�?�‹
118 * useGradient = "[false|true]" バã?チャートã?グラãƒ??ション処ç�?
119 * shapesVisible = "[true|false]" ラインの四角表示
120 * shapeColors = "RED,GREEN,BLUE" ãƒ??タ毎ã?Shapeの色
121 * shapeScale = "0.8" shapeの大きさの倍率(double)
122 * useDottedLine = "[false|true]" 点線使用有無
123 * seriesColors = "RED,GREEN,BLUE" シリーズの色サイクルæŒ?®?
124 * valueLabelsVisible = "[true|false]" 縦軸のラベルの表示有無
125 * valueMarksVisible = "[true|false]" 縦軸のマã?カーの表示有無
126 * itemLabelVisible = "[false|true|last]" ãƒ??タの値の表示有無
127 * useItemLabelSep = "[true|false]" ãƒ??タの桁区åˆ?‚Šæ–?—ã?使用有無
128 * valueInset = "15" 縦軸の表示領域INSET値
129 * barMaxWidth = "[0.0??.0]" バã?å¹??æœ?¤§値(0.0??.0)
130 * barItemMargin = "[0.0??.0]" バã?アイãƒ?ƒ のマã?ジン(0.0??.0)
131 * barWidth = "10" バã?å¹??実å¹?double)
132 * visibleLimit = "0" 表示下限値(これ以下ã?ãƒ??タは未表示))
133 * domainMargin = "1.0" グラフã?書きå?し位置の調整比率
134 * useTableData = "[false|true]" SQLではなくã?DBTableModelからグラフを作æ?するかどã�?�‹
135 * timeFormatType = "[1|2]" 時間軸の設å®?00:00表示)
136 * useVerticalLabels = "[false|true]" 時間軸の設å®?ラベルの縦書ã�?
137 * tableId = "AAA" useTableData="true"の場合ã?DBTableModelの取得å?ID
138 * scope = "[session|request]" useTableData="true"の場合ã?DBTableModelの取得å?scope
139 * >
140 * {@SQL}
141 * </og:chartDataset>
142 * </og:chartCreate>
143 *
144 * è¤?•°のグラフを重ã?合わせる場合ã?、chartDataset タグã‚?chartCreate のBODY部に
145 * è¤?•°記述しますã?
146 * <og:chartCreate
147 * title = "{@title}"
148 * domainLabel = "{@domainLabel}"
149 * width = "{@width}"
150 * height = "{@height}" >
151 * rectangleEdge = "{@rectangleEdge}" >
152 * plotOrientation = "{@plotOrientation}" >
153 * <og:chartDataset
154 * chartType = "{@chartType1}"
155 * valueLabel = "{@valueLabel1}"
156 * lowerBound = "{@lowerBound1}"
157 * upperBound = "{@upperBound1}"
158 * markValues = "{@markValues1}"
159 * markColors = "{@markColors1}"
160 * >
161 * {@SQL1}
162 * </og:chartDataset>
163 * <og:chartDataset
164 * chartType = "{@chartType2}"
165 * valueLabel = "{@valueLabel2}"
166 * lowerBound = "{@lowerBound2}"
167 * upperBound = "{@upperBound2}"
168 * markValues = "{@markValues2}"
169 * markColors = "{@markColors2}"
170 * >
171 * {@SQL2}
172 * </og:chartDataset>
173 * </og:chartCreate>
174 *
175 * chartType属æ? は、チャートã?種類をæŒ?®šするã?固有IDですã?
176 * [chartType属æ?]
177 * Area , Bar , Bar3D , BoxAndWhisker , CategoryStep ,
178 * Gantt , GroupedStackedBar , IntervalBar , LayeredBar , Level ,
179 * LineAndShape , Line3D , MinMax , StackedArea , StackedBar ,
180 * StackedBar3D , WaterfallBar , CyclicXYItem , HighLow , StackedXYArea ,
181 * StackedXYArea2 , StandardXYItem , XYBubble , XYDifference , XYDot ,
182 * XYError , XYLine3D , XYLineAndShape , XYStepArea , XYStep ,
183 * Meter , MultiplePie , Pie , Pie3D , Ring ,
184 * SpiderWeb , Thermometer
185 *
186 * markColors属æ? は、ã?ーカーラインの色を指定しまã�?
187 * java.awt.Color クラスのstatic フィールド名のæ–?—å?でæŒ?®šしますã?
188 * [renderer属æ?]
189 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
190 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW
191 * #XXXXXX形式ã?16bitRGB表è¨?
192 *
193 * @og.group 画面表示
194 *
195 * @version 0.9.0 2007/06/19
196 * @author Nakamura
197 * @since JDK1.4,
198 */
199 public class ChartDatasetTag extends CommonTagSupport {
200 //* こã?プログラãƒ??VERSIONæ–?—å?を設定しますã? {@value} */
201 private static final String VERSION = "5.7.8.0 (2014/07/04)" ;
202
203 private static final long serialVersionUID = 578020140704L ;
204
205 private transient ChartDataset chDataset = new ChartDataset();
206
207 // 4.0.0.0 (2007/10/10) dbid の初期値をã?"DEFAULT" から null に変更
208 private String dbid = null;
209 private String sql = null;
210
211 // 5.3.0.0 (2010/12/01) DBTableModel を利用して、グラフを作æ?しますã?
212 private boolean useTableData = false; // 互換性の関係かã‚?
213 private String tableId = HybsSystem.TBL_MDL_KEY;
214
215 /**
216 * Taglibの開始タグが見つかったときに処ç�?�™ã‚?doStartTag() ã‚?オーバã?ライドしますã?
217 *
218 * @og.rev 5.3.0.0 (2010/12/01) useTableDataによるãƒ??タ取得方法ã?機è?追åŠ?
219 *
220 * @return 後続å?ç�??æŒ?¤º( EVAL_BODY_BUFFERED )
221 */
222 @Override
223 public int doStartTag() {
224 // 5.3.0.0 (2010/12/01) useTableDataによるãƒ??タ取得方法ã?機è?追åŠ?
225 if( useTableData ) { // DBTableModel から取得するã?
226 DBTableModel table = (DBTableModel)getObject( HybsSystem.TBL_MDL_KEY );
227 chDataset.makeDataset( table );
228
229 return SKIP_BODY ; // Body を評価しなã�?
230 }
231 else {
232 return EVAL_BODY_BUFFERED ; // Body を評価するã€? extends BodyTagSupport æ™?
233 }
234 }
235
236 /**
237 * Taglibのタグ本体を処ç�?�™ã‚?doAfterBody() ã‚?オーバã?ライドしますã?
238 *
239 * @og.rev 5.3.0.0 (2010/12/01) ãƒ??タベã?ス検索処ç�?‚’、doEndTag() メソãƒ?ƒ‰から移å‹?
240 *
241 * @return 後続å?ç�??æŒ?¤º(SKIP_BODY)
242 */
243 @Override
244 public int doAfterBody() {
245 sql = getBodyString();
246 if( sql != null && sql.length() > 0 ) {
247 sql = sql.trim();
248 }
249
250 // 5.3.0.0 (2010/12/01) doEndTag() メソãƒ?ƒ‰から移å‹?
251 boolean errFlag = true;
252 Connection conn = null;
253 try {
254 conn = ConnectionFactory.connection( dbid,getApplicationInfo() );
255 chDataset.makeDataset( conn,sql );
256
257 errFlag = false; // エラーではなã�?
258 }
259 catch( SQLException ex ) {
260 String errMsg = "ãƒ??タセãƒ?ƒˆ作æ?時にエラーが発生しましたã€? + HybsSystem.CR
261 + " SQL=" + sql + HybsSystem.CR
262 + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg 修正
263 throw new HybsSystemException( errMsg,ex );
264 }
265 finally {
266 if( errFlag ) { ConnectionFactory.remove( conn,dbid ); } // 削除
267 else { ConnectionFactory.close( conn,dbid ); } // 返却
268 }
269
270 return SKIP_BODY ;
271 }
272
273 /**
274 * Taglibの終äº?‚¿グが見つかったときに処ç�?�™ã‚?doEndTag() ã‚?オーバã?ライドしますã?
275 *
276 * @og.rev 4.0.0.1 (2007/12/03) try ??catch ??finally をきちんと行うã€?
277 * @og.rev 5.2.1.0 (2010/10/01) debugPrint() メソãƒ?ƒ‰追åŠ?
278 * @og.rev 5.3.0.0 (2010/12/01) ãƒ??タベã?ス検索処ç�?‚’、doAfterBody() へ移å‹?
279 *
280 * @return 後続å?ç�??æŒ?¤º
281 */
282 @Override
283 public int doEndTag() {
284 debugPrint(); // 5.2.1.0 (2010/10/01) debugPrint() メソãƒ?ƒ‰追åŠ?
285
286 // ç�?±ˆ上ã?ChartCreateTag の存在チェãƒ?‚¯がここで行われるがã?DB検索処ç�??、å?に行ってã�?‚‹ã€?
287 // つまりã?無é§?�ªQUERYが実行される可能性がå?てきたがã?開発段階ã?みの話であるのでここに残しておくã€?
288 ChartCreateTag chartTag = (ChartCreateTag)findAncestorWithClass( this,ChartCreateTag.class );
289
290 if( chartTag == null ) {
291 String errMsg = "chartCreate タグが見つかりませんでしたã€?;
292 throw new HybsSystemException( errMsg );
293 }
294
295 chartTag.addChartDataset( chDataset );
296
297 return EVAL_PAGE;
298 }
299
300 /**
301 * タグリブオブジェクトをリリースしますã?
302 * キャãƒ?‚·ュされて再利用されるã?で、フィールドã?初期設定を行いますã?
303 *
304 * @og.rev 4.0.0.0 (2007/10/10) dbid の初期値をã?"DEFAULT" から null に変更
305 * @og.rev 5.3.0.0 (2010/12/01) useTableData,tableId 属æ?追åŠ?
306 */
307 @Override
308 protected void release2() {
309 super.release2();
310 chDataset = new ChartDataset();
311 dbid = null;
312 sql = null;
313 useTableData = false; // 5.3.0.0 (2010/12/01)
314 tableId = HybsSystem.TBL_MDL_KEY; // 5.3.0.0 (2010/12/01)
315 }
316
317 /**
318 * 【TAGã€?通常は使ã�?�¾せん)Datasetオブジェクトを作æ?する時ã?DB接続IDを指定しますã?
319 *
320 * @og.tag
321 * Datasetオブジェクトを作æ?する時ã?DB接続IDを指定しますã?
322 * これは、シスãƒ?ƒ リソースで、DEFAULT_DB_URL 等でæŒ?®šしてã�?‚‹ ãƒ??タベã?ス接続å?
323 * æƒ??に、XX_DB_URL を定義することでã€?dbid="XX" とすると、この 接続å?を使用して
324 * ãƒ??タベã?スにアクセスできますã?
325 *
326 * @param id ãƒ??タベã?ス接続ID
327 */
328 public void setDbid( final String id ) {
329 dbid = StringUtil.nval( getRequestParameter( id ),dbid );
330 }
331
332 /**
333 * 【TAG】ChartDataset のãƒ??タタイプをæŒ?®šしますã?
334 *
335 * @og.tag
336 * チャートタイãƒ?は、外部からチャートをæŒ?®šするã?に便利なように、キーåŒ?
337 * されてã�?�¾すã?こã?キーに基づã�?�¦、ChartFactory クラスの
338 * チャートタイプ変換表に基づã�?�¦、レンãƒ?ƒ©ーã‚??ãƒ??タセãƒ?ƒˆを作æ?しますã?
339 * 基本çš?�«は、チャートタイãƒ?は、この、レンãƒ?ƒ©ー名称から決定してã�?�¾すã?
340 *
341 * <table border="1" frame="box" rules="all" >
342 * <caption>å�?¨®オブジェクトã?çµ?�¿合わせä¸?¦§</caption>
343 * <tr><th> チャートタイãƒ? </th><th> レンãƒ?ƒ©ー(org.jfree.chart.renderer.) </th><th> Dataset </th></tr>
344 * <tr><td> HybsLine </td><td> HybsLineRenderer </td><td> Category </td></tr>
345 * <tr><td> LineAndShape </td><td> category.LineAndShapeRenderer </td><td> Category </td></tr>
346 * <tr><td> Line3D </td><td> category.LineRenderer3D </td><td> Category </td></tr>
347 * <tr><td> StatisticalLineAndShape </td><td> category.StatisticalLineAndShapeRenderer </td><td> Category </td></tr>
348 * <tr><td> HybsBar </td><td> HybsBarRenderer </td><td> Category </td></tr>
349 * <tr><td> Bar </td><td> category.BarRenderer </td><td> Category </td></tr>
350 * <tr><td> Bar3D </td><td> category.BarRenderer3D </td><td> Category </td></tr>
351 * <tr><td> Area </td><td> category.AreaRenderer </td><td> Category </td></tr>
352 * <tr><td> HybsStackedBar </td><td> HybsStackedBarRenderer </td><td> Category </td></tr>
353 * <tr><td> StackedBar </td><td> category.StackedBarRenderer </td><td> Category </td></tr>
354 * <tr><td> StackedBar3D </td><td> category.StackedBarRenderer3D </td><td> Category </td></tr>
355 * <tr><td> StackedArea </td><td> category.StackedAreaRenderer </td><td> Category </td></tr>
356 * <tr><td> GroupedStackedBar </td><td> category.GroupedStackedBarRenderer </td><td> Category </td></tr>
357 * <tr><td> LayeredBar </td><td> category.LayeredBarRenderer </td><td> Category </td></tr>
358 * <tr><td> CategoryStep </td><td> category.CategoryStepRenderer </td><td> Category </td></tr>
359 * <tr><td> Level </td><td> category.LevelRenderer </td><td> Category </td></tr>
360 * <tr><td> MinMax </td><td> category.MinMaxCategoryRenderer </td><td> Category </td></tr>
361 * <tr><td> WaterfallBar </td><td> category.WaterfallBarRenderer </td><td> Category </td></tr>
362 * <tr><td> MultiplePie </td><td> null </td><td> Category </td></tr>
363 * <tr><td> SpiderWeb </td><td> null </td><td> Category </td></tr>
364 * <tr><td> Pie </td><td> null </td><td> Pie </td></tr>
365 * <tr><td> Pie3D </td><td> null </td><td> Pie </td></tr>
366 * <tr><td> Ring </td><td> null </td><td> Pie </td></tr>
367 * <tr><td> XYArea </td><td> xy.XYAreaRenderer </td><td> XY </td></tr>
368 * <tr><td> XYArea2 </td><td> xy.XYAreaRenderer2 </td><td> XY </td></tr>
369 * <tr><td> XYBlock </td><td> xy.XYBlockRenderer </td><td> XY </td></tr>
370 * <tr><td> CyclicXYItem </td><td> xy.CyclicXYItemRenderer </td><td> XY </td></tr>
371 * <tr><td> HighLow </td><td> xy.HighLowRenderer </td><td> XY </td></tr>
372 * <tr><td> StackedXYArea </td><td> xy.StackedXYAreaRenderer </td><td> XY </td></tr>
373 * <tr><td> StackedXYArea2 </td><td> xy.StackedXYAreaRenderer2 </td><td> XY </td></tr>
374 * <tr><td> StandardXYItem </td><td> xy.StandardXYItemRenderer </td><td> XY </td></tr>
375 * <tr><td> XYBubble </td><td> xy.XYBubbleRenderer </td><td> XY </td></tr>
376 * <tr><td> XYDifference </td><td> xy.XYDifferenceRenderer </td><td> XY </td></tr>
377 * <tr><td> XYDot </td><td> xy.XYDotRenderer </td><td> XY </td></tr>
378 * <tr><td> XYError </td><td> xy.XYErrorRenderer </td><td> XY </td></tr>
379 * <tr><td> XYLine3D </td><td> xy.XYLine3DRenderer </td><td> XY </td></tr>
380 * <tr><td> XYLineAndShape </td><td> xy.XYLineAndShapeRenderer </td><td> XY </td></tr>
381 * <tr><td> XYStepArea </td><td> xy.XYStepAreaRenderer </td><td> XY </td></tr>
382 * <tr><td> XYStep </td><td> xy.XYStepRenderer </td><td> XY </td></tr>
383 * <tr><td> PolarItem </td><td> DefaultPolarItemRenderer </td><td> XY </td></tr>
384 * <tr><td> Meter </td><td> null </td><td> Value </td></tr>
385 * <tr><td> Thermometer </td><td> null </td><td> Value </td></tr>
386 * <tr><td> Compass </td><td> null </td><td> Value </td></tr>
387 * <tr><td> Gantt </td><td> category.GanttRenderer </td><td> TaskSeries </td></tr>
388 * <tr><td> XYBarV </td><td> xy.XYBarRenderer </td><td> TimeSeries </td></tr>
389 * <tr><td> ClusteredXYBarV </td><td> xy.ClusteredXYBarRenderer </td><td> TimeSeries </td></tr>
390 * <tr><td> YIntervalV </td><td> xy.YIntervalRenderer </td><td> TimeSeries </td></tr>
391 * <tr><td> DeviationV </td><td> xy.DeviationRenderer </td><td> TimeSeries </td></tr>
392 * <tr><td> TimeSeriesLineV </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr>
393 * <tr><td> TimeSeriesLineH </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr>
394 * <tr><td> TimeSeriesBarV </td><td> xy.XYBarRenderer </td><td> TimeSeries </td></tr>
395 * <tr><td> TimeSeriesBarH </td><td> xy.XYBarRenderer </td><td> TimeSeries </td></tr>
396 * <tr><td> StackedTimeSeriesLineV </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr>
397 * <tr><td> StackedTimeSeriesLineH </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr>
398 * </table>
399 *
400 * Meter と Compass は、さらに、needleType が指定できますã?
401 * これは、Meter_PIE ã‚??Compass_Arrow などとすることで、形状を指定できますã?
402 * Meter には、CHORD,CIRCLE(初期値),PIE
403 * Compass には、Arrow,Line,Long,Pin,Plum,Pointer(初期値),Ship,Wind,Arrow,MiddlePin が指定できますã?
404 *
405 * @og.rev 5.7.8.0 (2014/07/04) needleType 対å¿?
406 *
407 * @param chartType チャートタイãƒ?
408 * @see org.jfree.chart.renderer.category.CategoryItemRenderer
409 * @see org.jfree.chart.renderer.xy.XYItemRenderer
410 */
411 public void setChartType( final String chartType ) {
412 // chDataset.setChartType( getRequestParameter( chartType ) );
413
414 // 5.7.8.0 (2014/07/04) needleType 対å¿?
415 String chType = getRequestParameter( chartType ) ;
416
417 int adrs = chType.indexOf( '_' );
418 if( adrs < 0 ) {
419 // 今まで通り chartType の設å®?
420 chDataset.setChartType( chType );
421 }
422 else {
423 chDataset.setChartType( chType.substring(0,adrs) );
424 chDataset.setNeedleType( chType.substring(adrs+1) );
425 }
426 }
427
428 /**
429 * 【TAG】グラフ化するãƒ??タã‚?DBTableModel から作æ?するかどã�?�‹(初期値:false)ã€?
430 *
431 * @og.tag
432 * useTableData="false"(初期値)の場合ã?、BODY部に書かれã�?SQL æ–?‚’実行してãƒ??タを取得しますã?
433 * useTableData="true" にすると、その前ã? query タグ等で作æ?した DBTableModel を利用して
434 * グラフ化しますã?そã?場合ã?、BODY部の SQL æ–??、無視されますã?
435 * 利用する DBTableModel は、tableId と scope 属æ?から取得しますã?
436 *
437 * @og.rev 5.3.0.0 (2010/12/01) 新規追åŠ?
438 *
439 * @param flag ãƒ??タをDBTableModelを利用する場合ã?true
440 */
441 public void setUseTableData( final String flag ) {
442 useTableData = StringUtil.nval( getRequestParameter( flag ),useTableData );
443 }
444
445 /**
446 * 【TAGã€?通常は使ã�?�¾せん)結果のDBTableModelをã?sessionに登録するときã?キーを指定しまã�?
447 * (初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
448 *
449 * @og.tag
450 * 検索結果より、DBTableModelオブジェクトを作æ?しますã?これをã?下流ã?viewタグ等に
451 * 渡すå?合にã€??常は、session を利用しますã?そã?場合ã?登録キーですã?
452 * query タグを同時に実行して、結果を求めるå?合ã?同ä¸?ƒ¡モリに配置される為ã€?
453 * こã? tableId 属æ?を利用して、メモリ空間をåˆ?�‘ますã?
454 * (初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
455 *
456 * @param id sessionに登録する時ã? ID
457 */
458 public void setTableId( final String id ) {
459 tableId = StringUtil.nval( getRequestParameter( id ), tableId );
460 }
461
462 /**
463 * 【TAG】シリーズ単位ã?凡ä¾?の表示可否を設定しますã?
464 *
465 * @og.tag
466 * シリーズ単位ã?凡ä¾?の表示可否を設定しますã?
467 *
468 * @param baseLegend シリーズ単位ã?凡ä¾?の表示可否
469 */
470 public void setBaseLegend( final String baseLegend ) {
471 boolean flag = StringUtil.nval( getRequestParameter( baseLegend ),true );
472 chDataset.setBaseLegend( flag );
473 }
474
475 /**
476 * 【TAG】縦軸の表示名称を指定しますã?
477 *
478 * @og.tag
479 * 縦軸の表示名称を指定しますã?
480 *
481 * @param valueLabel 縦軸の表示名称
482 */
483 public void setValueLabel( final String valueLabel ) {
484 chDataset.setValueLabel( getRequestParameter( valueLabel ) );
485 }
486
487 /**
488 * 【TAG】ã?ーカーラインの設定å?をカンマ区åˆ?‚Š形式でè¤?•°æŒ?®šしますã?
489 *
490 * @og.tag
491 * æŒ?®šã?値にマã?カーラインを引きますã?
492 * 色は、setMarkColors( String ) でæŒ?®šしますã?
493 * markColors と、å?数をあわせて設定するå¿?¦�がありますã?
494 * どちらかがã?æŒ?®šされてã�?�ªã�??合ã?、ã?ーカー表示されませんã€?
495 * dynamicOCNo を使用する場合ã?、そのValues の並びのç®?‰€にã€?
496 * "G" とã�?�†æ–?—å?を設定して下さã�??
497 * 例ï¼?000,G 基準1ã?ã€?000の直線ã?基準2ã?、グラãƒ?とã�?�†意味ã€?
498 *
499 * @param markValues マã?カーラインの設定å?(CSV形å¼?
500 * @see #setMarkColors( String )
501 */
502 public void setMarkValues( final String markValues ) {
503 String vals = StringUtil.nval( getRequestParameter( markValues ),null );
504 if( vals != null ) {
505 chDataset.setMarkValues( StringUtil.csv2Array( vals ) );
506 }
507 }
508
509 /**
510 * 【TAG】ã?ーカーライン描画時に、その設定å?を表示しますã?
511 *
512 * @og.tag
513 * マã?カーラインの縦軸の設定å?(markValues)に、設定å?をラベル表示しますã?
514 * 位置は、TextAnchor.BASELINE_LEFT 固定ですã?
515 * 初期値は、表示する(true)ですã?
516 *
517 * @og.rev 4.1.1.0 (2008/02/04) 新規追åŠ?
518 *
519 * @param useAnchor true:設定å?を表示するã€?
520 */
521 public void setUseMarkAnchor( final String useAnchor ) {
522 boolean flag = StringUtil.nval( getRequestParameter( useAnchor ),true );
523 chDataset.setUseMarkAnchor( flag );
524 }
525
526 /**
527 * 【TAG】ã?ーカーラインの色をカンマ区åˆ?‚Š形式でè¤?•°æŒ?®šしますã?
528 *
529 * @og.tag
530 * マã?カーラインとは、縦軸設定ã?ラインの事で、縦軸の設定å?(markValues)に
531 * 横方向にラインを付与しますã?こã?ラインの色をã?カンマ区åˆ?‚Š形式で
532 * æŒ?®šしますã?
533 * markValues と、あわせて設定するå¿?¦�がありますã?
534 * 個数が異なるå?合ã?、markValues が優先されã?無æŒ?®šã?場合ã?、Color.REDで
535 * 表示されますã?
536 *
537 * æŒ?®š文字å?は、java.awt.Color クラスのstatic フィールド名でæŒ?®šしますã?
538 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
539 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) が指定できますã?
540 * またã?#XXXXXX形式ã?16bitRGB表è¨?でも指定可能ですã?
541 * <pre>
542 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
543 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE)
544 * #XXXXXX形式ã?16bitRGB表è¨?でも指定可能ですã?
545 * </pre>
546 *
547 * @param markColors マã?カーラインの色(CSV形å¼?
548 * @see java.awt.Color#BLACK
549 * @see #setMarkValues( String )
550 */
551 public void setMarkColors( final String markColors ) {
552 String clrs = StringUtil.nval( getRequestParameter( markColors ),null );
553 if( clrs != null ) {
554 chDataset.setMarkColors( StringUtil.csv2Array( clrs ) );
555 }
556 }
557
558 /**
559 * 【TAG】ã?ーカーラインのè¶?�Ž時ã?Shape色をカンマ区åˆ?‚Š形式でè¤?•°æŒ?®šしますã?
560 *
561 * @og.tag
562 * HybsLine でのみ使用可能ですã?
563 * マã?カーラインを使用する場合に、そのラインをè¶?�ˆなã�?‰²、è¶?�ˆる色を指定しますã?
564 * こã?色のæŒ?®šã?、ã?ーカーラインの色ã‚??ーカーラインの設定å?の個数?‹1に
565 * なりますã?つまりã?色?‘:設定å??‘:色?’:設定å??’:色??となりますã?
566 * 色?‘ã?、設定å??‘より小さã�??合に使用され、色?’ã?、設定å??‘より大きくã€?
567 * 設定å??’より小さã�??合ã?色?“ã?、設定å??’より大きい場合になりますã?
568 *
569 * æŒ?®š文字å?は、java.awt.Color クラスのstatic フィールド名でæŒ?®šしますã?
570 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
571 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) が指定できますã?
572 * またã?#XXXXXX形式ã?16bitRGB表è¨?でも指定可能ですã?
573 * markValues と、あわせて設定するå¿?¦�がありますã?
574 * どちらかがã?æŒ?®šされてã�?�ªã�??合ã?、ã?ーカー表示されませんã€?
575 * <pre>
576 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
577 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE)
578 * #XXXXXX形式ã?16bitRGB表è¨?でも指定可能ですã?
579 * </pre>
580 *
581 * @og.rev 4.0.3.0 (2008/01/07) 新規追åŠ?
582 *
583 * @param overColors マã?カーラインのè¶?�Ž時ã?Shape色(CSV形å¼?
584 * @see java.awt.Color#BLACK
585 */
586 public void setMarkOverColors( final String overColors ) {
587 String clrs = StringUtil.nval( getRequestParameter( overColors ),null );
588 if( clrs != null ) {
589 chDataset.setMarkOverColors( StringUtil.csv2Array( clrs ) );
590 }
591 }
592
593 /**
594 * 【TAG】動çš?�ªマã?カーラインの基準シリーズ番号を設定しまã�?初期値:null)ã€?
595 *
596 * @og.tag
597 * 動的なマã?カーラインを使用する場合ã?、基準å?となるシリーズ番号を指定しますã?
598 *
599 * マã?カーラインのæœ?¸‹位閾値に相当しますã?これは、グラフ化されますがã€?
600 * Shape は自動的に削除されますã?
601 * こã?設定を使用する場合ã?æœ??のãƒ??タには、å¿?�šShapeが付きますã?それ以外ã?
602 * ãƒ??タに、Shape を付けるかどã�?�‹は、shapesVisible 属æ?でæŒ?®šしますã?
603 * こã?線ã?色は、markColors でæŒ?®šしたã?æœ?¸‹位ã?色になりますã?またã?
604 * markValues でæŒ?®šしたã?æœ?¸‹位ã?値は、使用されません。たã�?�—、色æŒ?®šã?
605 * 関係上ã?設定しておくå¿?¦�がありますã?
606 * またã?isValueVisible == true で、設定å?の値表示を行う場合も、最下位ã?
607 * 値は表示しなã�?‚ˆã�?�«しますã?
608 * 初期値は、使用しなã�?null)ですã?
609 *
610 * @og.rev 4.1.1.0 (2008/02/04) 新規追åŠ?
611 * @og.rev 4.1.1.0 (2008/02/19) setUseDynamicOC �setDynamicOCNo
612 *
613 * @param dynamicOCNo true:動的なマã?カーラインの基準シリーズ番号
614 */
615 public void setDynamicOCNo( final String dynamicOCNo ) {
616 int ocNo = StringUtil.nval( getRequestParameter( dynamicOCNo ),-1 );
617 chDataset.setDynamicOCNo( ocNo );
618 }
619
620 /**
621 * 【TAG】チャートã?縦軸のæœ?°�å?をセãƒ?ƒˆしまã�?初期値:自動計ç®?ã€?
622 *
623 * @og.tag
624 * 何もæŒ?®šしなã�??合ã?、データのæœ?°�å?から、è?動的に計算しますã?
625 *
626 * @param lowerBound 縦軸のæœ?°�å?
627 */
628 public void setLowerBound( final String lowerBound ) {
629 chDataset.setLowerBound( getRequestParameter( lowerBound ) );
630 }
631
632 /**
633 * 【TAG】チャートã?縦軸のæœ?¤§値をセãƒ?ƒˆしまã�?初期値:自動計ç®?ã€?
634 *
635 * @og.tag
636 * 何もæŒ?®šしなã�??合ã?、データのæœ?¤§値から、è?動的に計算しますã?
637 *
638 * @param upperBound 縦軸のæœ?¤§値
639 */
640 public void setUpperBound( final String upperBound ) {
641 chDataset.setUpperBound( getRequestParameter( upperBound ) );
642 }
643
644 /**
645 * 【TAG】チャートã?縦軸の目盛ã?å¹?‚’セãƒ?ƒˆしまã�?初期値:自動計ç®?ã€?
646 *
647 * @og.tag
648 * 何もæŒ?®šしなã�??合ã?、データのç¯?›²から、è?動的に計算しますã?
649 *
650 * @og.rev 4.0.3.0 (2008/01/07) 新規追åŠ?
651 *
652 * @param size 縦軸のチック(目ç›?のå¹?
653 */
654 public void setTickSize( final String size ) {
655 chDataset.setTickSize( getRequestParameter( size ) );
656 }
657
658 /**
659 * 【TAG】バーチャートã?グラãƒ??ション処ç�?‚’行うかどã�?�‹[true/false]をセãƒ?ƒˆしまã�?初期値:false)ã€?
660 *
661 * @og.tag
662 * 通常のバã?チャートã?、単ä¸?‰²表示で表されますが、これにグラãƒ??ション効果を
663 * 付加するかどã�?�‹を指定しますã?
664 * 通常のバã?チャートが、少しきれã�?�«見えますã?
665 * 初期値は、false(使用しなã�?ですã?
666 *
667 * @param useGradient グラãƒ??ション処ç�?[true:する/false:しない]
668 */
669 public void setUseGradient( final String useGradient ) {
670 boolean flag = StringUtil.nval( getRequestParameter( useGradient ),false );
671 chDataset.setUseGradient( flag );
672 }
673
674 /**
675 * 【TAG】ラインチャートã?ポイントを四角表示するかどã�?�‹を指定しまã�?初期値:true)ã€?
676 *
677 * @og.tag
678 * ラインチャートã?ã€??常、線å?で表され、各ポイントにつã�?�¦もã?線å?で接続されますã?
679 * shapesVisible ã‚?true に設定すると、各ポイントが、線上に四角く表示されã€?
680 * そã?ポイントã?位置をã?容易に判断出来るよã�?�«なりますã?
681 * 初期値は、true( LineAndShape )ですã?
682 *
683 * @param shapesVisible ポイントを四角表示するかどã�?�‹
684 */
685 public void setShapesVisible( final String shapesVisible ) {
686 boolean flag = StringUtil.nval( getRequestParameter( shapesVisible ),true );
687 chDataset.setShapesVisible( flag );
688 }
689
690 /**
691 * 【TAG】データ毎にShapeをå?り替える時ã?色の繰返しパターンを文字å?配å?でæŒ?®šしますã?
692 *
693 * @og.tag
694 * HybsLine でのみ使用可能ですã?
695 * これは、データそã?もã?がã?繰返し性のある場合に、その繰返し性に対応しã�?
696 * 形状のShape を表示させるå?合に使用しますã?
697 * 繰返しShapeの形状は、JFreeChart のシリーズ毎ã?繰返し標準形状を使用しますã?
698 * 現在のバã?ジョンではã€?¼‘0å?までの繰返しに対応可能ですã?
699 * 繰返し色をã?æŒ?®šしたå?ã�?�‘ã€??に使用されてã�?��ますã?
700 *
701 * æŒ?®š文字å?は、java.awt.Color クラスのstatic フィールド名でæŒ?®šしますã?
702 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
703 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) が指定できますã?
704 * またã?#XXXXXX形式ã?16bitRGB表è¨?でも指定可能ですã?
705 *
706 * @og.rev 4.0.3.0 (2008/01/07) 新規追åŠ?
707 *
708 * @param colors ãƒ??タ毎ã?色の繰返しパターン(æ–?—å?配å?)
709 * @see java.awt.Color#BLACK
710 */
711 public void setShapeColors( final String colors ) {
712 String clrs = StringUtil.nval( getRequestParameter( colors ),null );
713 if( clrs != null ) {
714 chDataset.setShapeColors( StringUtil.csv2Array( clrs ) );
715 }
716 }
717
718 /**
719 * 【TAG】shapeの大きさをå?çŽ?Œ‡定で変更しまã�?初期値:null)ã€?
720 *
721 * @og.tag
722 * ラインチャートã?Shape(å�?‚°ラフã?ポイントã?マã?カー)の大きさはã€??常はã€?
723 * 自動設定されますã?
724 * こã?大きさをã?倍率æŒ?®šで、変更可能ですã?
725 * æŒ?®šã?、double 型ですã?
726 * 初期値は、null は、スケール変更しません(自動設定ã?ままの大きさ)
727 *
728 * @og.rev 4.1.1.0 (2008/02/04) 新規追åŠ?
729 *
730 * @param scale shapeの大きさの倍率
731 */
732 public void setShapeScale( final String scale ) {
733 String shapeScale = StringUtil.nval( getRequestParameter( scale ),null );
734 if( shapeScale != null ) {
735 chDataset.setShapeScale( shapeScale );
736 }
737 }
738
739 /**
740 * 【TAG】ラインチャートã?線をドットラインにするかどã�?�‹[true/false]を指定しまã�?初期値:false[線å?])ã€?
741 *
742 * @og.tag
743 * ラインチャートã?ã€??常、線å?で表されますã?
744 * これに、点線で表すことで、グラフã?違いをã?色ã�?�‘でなく形状でも識別
745 * しやすくすることが可能ですã?
746 * 初期値は、false(線å?)ですã?
747 *
748 * @param useDottedLine ドットラインにするかどã�?�‹ [true:点ç·?false:線å?]
749 */
750 public void setUseDottedLine( final String useDottedLine ) {
751 boolean flag = StringUtil.nval( getRequestParameter( useDottedLine ),false );
752 chDataset.setUseDottedLine( flag );
753 }
754
755 /**
756 * 【TAG】è¤?•°チャート描画時ã?チャート色の繰返しパターンをCVS形式でè¤?•°æŒ?®šしますã?
757 *
758 * @og.tag
759 * 通常、è¤?•°のチャートを同時に表示させるå?合ã?、縦軸がå?通であればã€?
760 * ?‘回のSelectåˆ?�§è¤?•°ãƒ??タを取得しますã?
761 * こã?、データをシリーズと呼んでおり、これを区別する為に、色をå?けますã?
762 * 初期値は、JFreeChart がè?動で割り振りますã?
763 * これをã?外部からCVS形式で、カンマ区åˆ?‚Šで色コードをæŒ?®šしますã?
764 * æŒ?®šデータが多い場合ã?、多いåˆ??色は使用されません。少なã�??合ã?ã€?
765 * é ?•ªに繰り返して使用されますã?
766 * 例えばã€?¼‘色ã�?�‘æŒ?®šしたå?合ã?、すべてのシリーズが同じ色で表されますã?
767 *
768 * æŒ?®š文字å?は、java.awt.Color クラスのstatic フィールド名でæŒ?®šしますã?
769 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
770 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) が指定できますã?
771 *
772 * またã?#XXXXXX形式ã?16bitRGB表è¨?でも指定可能ですã?
773 *
774 * @param colors チャート色の繰返しパターン(CVS形å¼?
775 * @see java.awt.Color#BLACK
776 */
777 public void setSeriesColors( final String colors ) {
778 String clrs = StringUtil.nval( getRequestParameter( colors ),null );
779 if( clrs != null ) {
780 chDataset.setSeriesColors( StringUtil.csv2Array( clrs ) );
781 }
782 }
783
784 /**
785 * 【TAG】Value(縦軸)のラベルを表示するかどã�?�‹を指定しまã�?初期値:true[表示する])ã€?
786 *
787 * @og.tag
788 * ValueAxis にて設定される、縦軸æƒ??の、ラベルを表示するかどã�?�‹æŒ?®šしますã?
789 * 初期値は、true(表示する)ですã?
790 *
791 * @og.rev 4.0.2.0 (2007/12/20) 新規追åŠ?
792 *
793 * @param labelsVisible Value(縦軸)のラベルを表示するかどã�?�‹
794 */
795 public void setValueLabelsVisible( final String labelsVisible ) {
796 boolean flag = StringUtil.nval( getRequestParameter( labelsVisible ),true );
797 chDataset.setValueLabelsVisible( flag );
798 }
799
800 /**
801 * 【TAG】Value(縦軸)のマã?カーを表示するかどã�?�‹を指定しまã�?初期値:true[表示する])ã€?
802 *
803 * @og.tag
804 * ValueAxis にて設定される、縦軸æƒ??の、ã?ーカーを表示するかどã�?�‹æŒ?®šしますã?
805 * 初期値は、true(表示する)ですã?
806 *
807 * @og.rev 4.0.2.0 (2007/12/20) 新規追åŠ?
808 *
809 * @param marksVisible Value(縦軸)のマã?カーを表示するかどã�?�‹
810 */
811 public void setValueMarksVisible( final String marksVisible ) {
812 boolean flag = StringUtil.nval( getRequestParameter( marksVisible ),true );
813 chDataset.setValueMarksVisible( flag );
814 }
815
816 /**
817 * 【TAG】データの値(itemText)を表示するかどã�?�‹[true/false/last]を指定しまã�?初期値:false[表示しない])ã€?
818 *
819 * @og.tag
820 * CategoryItemRenderer 関連のグラフã?設定å?をグラフ上に表示するかどã�?�‹ã‚?
821 * æŒ?®šしますã?
822 * true に設定したå?合ã?通常の場合ã?、すべてのシリーズにラベル表示されますã?
823 * false に設定すると、表示されませんã€?
824 * last を設定すると、各シリーズのæœ?¾Œã?値のみ表示されますã?
825 * ChartCreate クラスに、seriesPikup が設定されてã�?‚‹場合ã?、指定ã?シリーズ
826 * のみの設定å?を表示しã?他ã?値は、表示しませんã€?
827 * 同様に、dynamicOCNo が指定されてã�?‚‹場å�?動的なマã?カーライン)
828 * æœ?¸‹位ã?シリーズはã€?–¾値として使用されるためã?設定å?は表示されませんã€?
829 * ラベルの表示位置は、表示する線グラフã?傾きに応じてラベルの表示場æ‰?‚’
830 * 変えますã?山形、右坂ã?谷形、左å�?に応じて、上中、下右、下中、上右 に
831 * 位置を設定しますã?右にずらすã?はã€?0 ピクセル固定ですã?
832 * 初期値は、false(表示しなã�?ですã?
833 *
834 * @og.rev 4.1.1.0 (2008/02/04) 新規追åŠ?
835 * @og.rev 4.1.2.0 (2008/03/12) æ–?—å?のまま、渡すよã�?�«変更
836 *
837 * @param itemLabelVisible ãƒ??タの値の表示のさせ方(true,false,last)
838 */
839 public void setItemLabelVisible( final String itemLabelVisible ) {
840 String flag = StringUtil.nval( getRequestParameter( itemLabelVisible ),"false" );
841 chDataset.setItemLabelVisible( flag );
842 }
843
844 /**
845 * 【TAG】データの値(itemText)の表示に、桁区åˆ?‚Šæ–?—を使用するかどã�?�‹[true/false]を指定しまã�?初期値:true[使用する])ã€?
846 *
847 * @og.tag
848 * itemLabelVisible=true 時に、表示されるデータ値ラベルでã€?
849 * NumberFormat してã�?�¾すがã€?¼“桁区åˆ?‚Šæ–??123,456,789.0) の
850 * 区åˆ?‚Š記号を表示するかどã�?�‹を指定しますã?
851 * true を指定すると、表示しますã?false では、表示しませんã€?
852 * 初期値は、true(使用する)ですã?
853 *
854 * @og.rev 4.1.2.0 (2008/03/12) 新規追åŠ?
855 *
856 * @param used ãƒ??タの桁区åˆ?‚Šæ–?—ã?使用有無
857 */
858 public void setUseItemLabelSep( final String used ) {
859 boolean useItemLabelSep = StringUtil.nval( getRequestParameter( used ),true );
860 chDataset.setUseItemLabelSep( useItemLabelSep );
861 }
862
863 /**
864 * 【TAG】縦軸の表示領域INSET値(double)を指定しますã?
865 *
866 * @og.tag
867 * 縦軸æ–?—表示領域(NumberAxis)のå¹??追åŠ??を設定しますã?
868 * これはã€??常の表示領域の左側にスペã?スを挿入しますã?
869 * あくまで、追åŠ?�™るå?なので、文字ã?長さã?含まれませんã€?
870 * 何もæŒ?®šしなã�??合ã?、設定しませんã€?
871 *
872 * @og.rev 4.0.3.0 (2008/01/07) 新規追åŠ?
873 *
874 * @param inset Value(縦軸)の表示領域INSET値
875 */
876 public void setValueInset( final String inset ) {
877 String valueInset = StringUtil.nval( getRequestParameter( inset ),null );
878 chDataset.setValueInset( valueInset );
879 }
880
881 /**
882 * 【TAG】BOXチャートã?バã?å¹?double)を指定しますã?
883 *
884 * @og.tag
885 * BOXチャートã?バã?å¹?double)を指定しますã?
886 * 設定されるのは、org.jfree.chart.renderer.category.BarRenderer ã‚?
887 * 使用した描画のみですã?
888 * 棒グラフã?バã?å¹?Œ‡定ã?、直接、CategoryItemRendererState に設定してã�?�¾すã?
889 * 通常は、barMaxWidth(0.0??.0)とbarItemMargin(0.0??.0)を用ã�?�¦比率でæŒ?®šしますã?
890 * 何もæŒ?®šしなã�??合ã?、設定しませんã€?
891 *
892 * @og.rev 4.0.3.0 (2008/01/07) 新規追åŠ?
893 *
894 * @param width BOXチャートã?バã?å¹?double)
895 */
896 public void setBarWidth( final String width ) {
897 String barWidth = StringUtil.nval( getRequestParameter( width ),null );
898 chDataset.setBarWidth( barWidth );
899 }
900
901 /**
902 * 【TAG】BOXチャートã?バã?å¹??æœ?¤§値(0.0??.0)を指定しますã?
903 *
904 * @og.tag
905 * BOXチャートã?バã?å¹??比率のæœ?¤§値を指定しますã?
906 * 表示領域を1として小数点以下ã?数値で棒ã?å¹?‚’設定しますã?
907 * 設定したå¹?�«無ç�?�Œある時ã?適当なサイズに調整されますã?
908 * (小さくしたときには棒が線ã?ようになã‚?
909 * 設定されるのは、org.jfree.chart.renderer.category.BarRenderer ã‚?
910 * 使用した描画のみですã?
911 * 何もæŒ?®šしなã�??合ã?、設定しませんã€?
912 *
913 * @og.rev 4.0.2.0 (2007/12/20) 新規追åŠ?
914 *
915 * @param barWidth BOXチャートã?バã?å¹??æœ?¤§値(0.0??.0)
916 */
917 public void setBarMaxWidth( final String barWidth ) {
918 String maxBarWidth = StringUtil.nval( getRequestParameter( barWidth ),null );
919 chDataset.setBarMaxWidth( maxBarWidth );
920 }
921
922 /**
923 * 【TAG】BOXチャートã?バã?アイãƒ?ƒ のマã?ジン(0.0??.0)を指定しますã?
924 *
925 * @og.tag
926 * BOXチャートã?バã?アイãƒ?ƒ のマã?ジンの比率を指定しますã?
927 * 棒ã?間を表示領域を1として小数点以下ã?数値でå¹?‚’設定しますã?
928 * 無ç�?�Œある時ã?適当なサイズに調整されますã?
929 * barMaxWidth より優先されますã?
930 * 設定されるのは、org.jfree.chart.renderer.category.BarRenderer ã‚?
931 * 使用した描画のみですã?
932 * 何もæŒ?®šしなã�??合ã?、設定しませんã€?
933 *
934 * @og.rev 4.0.2.0 (2007/12/20) 新規追åŠ?
935 *
936 * @param margin BOXチャートã?バã?アイãƒ?ƒ のマã?ジン(0.0??.0)
937 */
938 public void setBarItemMargin( final String margin ) {
939 String itemMargin = StringUtil.nval( getRequestParameter( margin ),null );
940 chDataset.setBarItemMargin( itemMargin );
941 }
942
943 /**
944 * 【TAG】表示下限値(これ以下ã?ãƒ??タは未表示)の値(double)を指定しますã?
945 *
946 * @og.tag
947 * HybsLine でのみ使用可能ですã?
948 * こã?設定å?以下ã?ãƒ??タは、存在しなã�?‰±ã�?�¨しますã?
949 * Lineを引くときã?こã?ãƒ??タと、存在してã�?‚‹ãƒ??タ間にラインは引かれませんã€?
950 * 何もæŒ?®šしなã�??合ã?、設定しませんã€?
951 *
952 * @og.rev 4.0.3.0 (2008/01/07) 新規追åŠ?
953 *
954 * @param limit 表示下限値(これ以下ã?ãƒ??タは未表示)
955 */
956 public void setVisibleLimit( final String limit ) {
957 String visibleLimit = StringUtil.nval( getRequestParameter( limit ),null );
958 chDataset.setVisibleLimit( visibleLimit );
959 }
960
961 /**
962 * 【TAG】グラフã?書きå?し位置の調整比率を指定しますã?
963 *
964 * @og.tag
965 * HybsStackedBar でのみ使用可能ですã?
966 * グラフを描画する場合ã?、書きå?し位置を少しずらしますã?
967 * これは、グラフã?å¹?�«対して、比率でæŒ?®šしますã?
968 * 0.0(初期値)の場合ã?、å?期描画位置である、CategoryAnchor.Middle と
969 * 同じç®?‰€から、書きå?されますã?
970 * 1.0 の場合ã?中å¿?�‹らã?グラフå¹??半å?が加算されã?END位置にå¯?‚Šますã?
971 * 同様にã€?1.0 の場合ã?、グラフå¹??半å?が減算されã?START 位置になりますã?
972 * つまりã?中å¿?�‹らã?グラフå¹??半å?単位で、前方/後方にずらす事が出来ますã?
973 * 書きå?し位置 ??中å¿?Middle) + (domainMargin)?Šå¹???
974 * 初期値はã€?.0(真ん中:MIDDLE)ですã?
975 *
976 * @og.rev 4.1.1.0 (2008/02/14) 新規追åŠ?
977 *
978 * @param margin double グラフã?書きå?し位置の調整比率
979 */
980 public void setDomainMargin( final String margin ) {
981 String domMgn = StringUtil.nval( getRequestParameter( margin ),null );
982 if( domMgn != null ) {
983 double domainMargin = Double.parseDouble( domMgn );
984 chDataset.setDomainMargin( domainMargin ) ; // double margin
985 }
986 }
987
988 /**
989 * 【TAG】時刻を表すå?合ã?表現の仕方[E1/E2/E3/H1/H2/H3]を指定しまã�?初期値:null)ã€?
990 *
991 * @og.tag
992 * HybsNumberAxis にオーバã?ライドすã‚?時間を表示する DecimalFormat のå†?ƒ¨クラスを利用するに当たりã?
993 * 時刻の表示方法をæŒ?®šしますã?
994 * 外部から与える数字ã?ã€??続してã�?‚‹å¿?¦�があるためã€?¼‘0é?数ですã?
995 * たとえã?ã€?700 â†?17:00 , 2150 â†?21:30 とã�?�†感じですã?
996 * 2400 をè¶?�ˆると日付違ã�?�«なりますã?
997 *
998 * 英語表è¨?:)と日本語表è¨?æ™?の区別とã€?4時間をè¶?�ˆるå?合ã?表示方法によってã€?¼–種類ã?パターンが存在しますã?
999 * ã€?1:そã?ままã€?4:00 となりã?åŠ?®—されてã�?��ã€?
1000 * ã€?2:そã?ままã€?:00 に戻るã?(日付ã?無è¦?
1001 * ã€?3:そã?ままã€? 00:00 と日付が付与されるã€?
1002 * ã€?1:そã?ままã€?4æ™?0åˆ?となりã?åŠ?®—されてã�?��ã€?
1003 * ã€?2:そã?ままã€?0æ™?0åˆ?に戻るã?(日付ã?無è¦?
1004 * ã€?3:そã?ままã€?日 00æ™?0åˆ?と日付が付与されるã€?
1005 * 初期値は、使用しなã�?-1)ですã?
1006 *
1007 * @og.rev 5.5.2.1 (2012/05/07) 新規追åŠ?
1008 *
1009 * @param type 時刻の表示方æ³?E1,E2,E3,H1,H2,H3)
1010 */
1011 public void setTimeFormatType( final String type ) {
1012 String timeFormatType = StringUtil.nval( getRequestParameter( type ),null );
1013 chDataset.setTimeFormatType( timeFormatType );
1014 }
1015
1016 /**
1017 * 【TAG】ラベルの表示向きを縦にするかどã�?�‹[false/true]を指定しまã�?初期値:false[横書き])ã€?
1018 *
1019 * @og.tag
1020 * ChartCreate の rotationLabel は、角度を指定できましたがã?NumberAxis ではã€?
1021 * 縦にするかどã�?�‹のæŒ?®šしかできませんã€?
1022 * ここでは、true を指定するとラベルは、縦書きになりますã?
1023 * 初期値は、false(横書ã�?ですã?
1024 *
1025 * @og.rev 5.5.2.1 (2012/05/07) 新規追åŠ?
1026 *
1027 * @param useVLavels ラベルの表示向き [false:横書ã�?true:縦書き]
1028 */
1029 public void setUseVerticalLabels( final String useVLavels ) {
1030 boolean useVerticalLabels = StringUtil.nval( getRequestParameter( useVLavels ),false );
1031 chDataset.setUseVerticalLabels( useVerticalLabels );
1032 }
1033
1034 /**
1035 * シリアライズ用のカスタãƒ?‚·リアライズ書き込みメソãƒ?ƒ‰
1036 *
1037 * @og.rev 4.0.0.0 (2006/09/31) 新規追åŠ?
1038 * @serialData ä¸?ƒ¨のオブジェクãƒ?ChartDataset)は、シリアライズされませんã€?
1039 *
1040 * @param strm ObjectOutputStreamオブジェクãƒ?
1041 * @throws IOException シリアライズに関する入出力エラーが発生したå?å�?
1042 */
1043 private void writeObject( final ObjectOutputStream strm ) throws IOException {
1044 strm.defaultWriteObject();
1045 }
1046
1047 /**
1048 * シリアライズ用のカスタãƒ?‚·リアライズ読み込みメソãƒ?ƒ‰
1049 *
1050 * ここでは、transient 宣è¨?�•れたå†?ƒ¨変数のå†??初期化がå¿?¦�なフィールドã?み設定しますã?
1051 *
1052 * @og.rev 4.0.0.0 (2006/09/31) 新規追åŠ?
1053 * @serialData ä¸?ƒ¨のオブジェクãƒ?ChartDataset)は、読み込まれませんã€?
1054 *
1055 * @param strm ObjectInputStreamオブジェクãƒ?
1056 * @see #release2()
1057 * @throws IOException シリアライズに関する入出力エラーが発生したå?å�?
1058 * @throws ClassNotFoundException クラスを見つけることができなかったå?å�?
1059 */
1060 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
1061 strm.defaultReadObject();
1062 chDataset = new ChartDataset();
1063 }
1064
1065 /**
1066 * こã?オブジェクトã?æ–?—å?表現を返しますã?
1067 * 基本çš?�«ãƒ?ƒ�ãƒ?‚°目çš?�«使用しますã?
1068 *
1069 * @return こã?クラスのæ–?—å?表現
1070 */
1071 @Override
1072 public String toString() {
1073 StringBuilder rtn = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
1074
1075 rtn.append( "[" ).append( this.getClass().getName() ).append( "]" ).append( HybsSystem.CR );
1076 rtn.append( "dbid [" ).append( dbid ).append( "]" ).append( HybsSystem.CR );
1077 rtn.append( "sql [" ).append( sql ).append( "]" ).append( HybsSystem.CR );
1078 rtn.append( "dataset [" ).append( chDataset ).append( "]" ).append( HybsSystem.CR );
1079
1080 return rtn.toString();
1081 }
1082 }