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.io;
017
018 import org.opengion.hayabusa.db.DBTableModel;
019
020 import java.awt.Color; // 6.0.2.2 (2014/10/03)
021 import java.sql.Connection;
022 import java.sql.SQLException;
023
024 import org.jfree.data.category.CategoryDataset;
025 import org.jfree.data.Range;
026
027 /**
028 * HybsJDBCCategoryDataset は、org.jfree.data.jdbc.JDBCCategoryDataset を継承したサブクラスでã€?
029 * executeQuery(Connection , String ) をオーバã?ライドしてã�?�¾すã?
030 * これは、å?のソースのãƒ??タベã?ス検索結果をå?部で持っておき、getValue(int row, int column)
031 * メソãƒ?ƒ‰で直接値を返しますã?
032 * select category,series1,series2,series3,?¥?¥?¥ from ?¥?¥?¥
033 * series の横持ち(標準と同じ) 対応ですã?
034 * category カラãƒ??値は、カãƒ?‚´リのラベルになりã?series1,2,3 のラベルがシリーズラベル、å?ã�?
035 * seriesの値になりますã?
036 *
037 * カãƒ?‚´リのカラー名ã?æŒ?®šを行う場合ã?æœ?¾Œã?カラãƒ?�Œ、カラー名ã?æ–?—å?になりますã?
038 * select category,series1,series2,series3,?¥?¥?¥,color from ?¥?¥?¥
039 * coloræ–?—å?の検索結果は、Dataset には含まれませんã€?
040 *
041 * なおã?Colorコードã?、このクラスで作æ?しますが、Renderer に与えるå¿?¦�がありますã?
042 * 通常のRenderer には、categoryにカラーを指定する機è?がありませんので、HybsBarRenderer に
043 * setCategoryColor( Color[] ) メソãƒ?ƒ‰を用意しますã?(正確には、HybsDrawItem インターフェース)
044 * こã?Renderer で、getItemPaint( int , int )メソãƒ?ƒ‰をオーバã?ライドすることで、カãƒ?‚´リごとの
045 * 色を返しますã?
046 *
047 * @og.rev 3.8.9.2 (2007/07/28) 新規作æ?
048 *
049 * @version 0.9.0 2001/05/05
050 * @author Kazuhiko Hasegawa
051 * @since JDK1.1,
052 */
053 public interface HybsDataset extends CategoryDataset {
054
055 /**
056 * レンジオブジェクトを取得しますã?(独自メソãƒ?ƒ‰)
057 *
058 * @return レンジオブジェクãƒ?
059 */
060 Range getRange() ;
061
062 /**
063 * CategoryDataset を構築するに当たりã?初期パラメータを設定しますã?
064 *
065 * @og.rev 6.0.2.2 (2014/10/03) 新規追åŠ?
066 *
067 * @param lbls シリーズのラベル名é?åˆ?
068 * @param isColCate カãƒ?‚´リのカラー名ã?æŒ?®š有無(true:使用する)
069 * @param isPareto パレート図用のDatasetとして処ç�?�™るかどã�?�‹(true:処ç�?�™ã‚?
070 */
071 void initParam( final String[] lbls , final boolean isColCate , final boolean isPareto );
072
073 /**
074 * コネクションと、SQLæ–?—å?から、CategoryDataset のãƒ??タを作æ?しますã?
075 * å…?�¨なるå?ç�??、org.jfree.data.jdbc.JDBCCategoryDataset#executeQuery( Connection,String ) ですã?
076 *
077 * こã?メソãƒ?ƒ‰では、å?に #initParam(String[],boolean,isPareto) のパラメータを使用して
078 * 検索した結果のãƒ??タを加工、å?ç�?�—ますã?
079 * またã?å†?ƒ¨çš?�«、データをキャãƒ?‚·ュする事と、データç¯?›²を示ã�?レンジオブジェクãƒ?を作æ?しますã?
080 *
081 * @og.rev 6.0.2.2 (2014/10/03) 新規追åŠ?
082 *
083 * @param con コネクション
084 * @param query SQLæ–?—å?
085 *
086 * @throws SQLException ãƒ??タベã?スアクセス時ã?エラー
087 * @see org.jfree.data.jdbc.JDBCCategoryDataset#executeQuery( Connection,String )
088 */
089 void execute( final Connection con, final String query ) throws SQLException ;
090
091 /**
092 * DBTableModelオブジェクトからã?CategoryDataset のãƒ??タを作æ?しますã?
093 * openGionの独自処ç�?ƒ¡ソãƒ?ƒ‰ですã?
094 *
095 * こã?メソãƒ?ƒ‰では、å?に #initParam(String[],boolean,isPareto) のパラメータを使用して
096 * 検索した結果のãƒ??タを加工、å?ç�?�—ますã?
097 * またã?å†?ƒ¨çš?�«、データをキャãƒ?‚·ュする事と、データç¯?›²を示ã�?レンジオブジェクãƒ?を作æ?しますã?
098 *
099 * @og.rev 6.0.2.2 (2014/10/03) 新規追åŠ?
100 *
101 * @param table DBTableModelオブジェクãƒ?
102 * @see #execute( Connection,String )
103 */
104 void execute( final DBTableModel table ) ;
105
106 /**
107 * categoryカラー配å?を取得しますã?(独自メソãƒ?ƒ‰)
108 *
109 * こã?クラスは、ä¸?•ªæœ?¾Œã?カラãƒ?‚’、色æ–?—å?として処ç�?�—、categoryにColorを指定できますã?
110 * selectæ–?�§æŒ?®šされてã�?�ªかったå?合ã?、null を返しますã?
111 *
112 * select category,series1,series2,series3,?¥?¥?¥,color from ?¥?¥?¥
113 *
114 * なおã?Colorコードã?、このクラスで作æ?しますが、Renderer に与えるå¿?¦�がありますã?
115 * 通常のRenderer には、categoryにカラーを指定する機è?がありませんので、HybsBarRenderer に
116 * setCategoryColor( Color[] ) メソãƒ?ƒ‰を用意しますã?(正確には、HybsDrawItem インターフェース)
117 * こã?Renderer で、getItemPaint( int , int )メソãƒ?ƒ‰をオーバã?ライドすることで、カãƒ?‚´リごとの
118 * 色を返しますã?
119 * こã?設定を行うと、シリーズは、カãƒ?‚´リと同ä¸?‰²になりますã?
120 *
121 * @og.rev 6.0.2.2 (2014/10/03) 新規追åŠ?
122 *
123 * @return categoryカラー配å?(なければ null)
124 */
125 Color[] getCategoryColor() ;
126 }