1 package com.wikihouse.wildcats0201.jdbcchart; 2 3 import java.io.InvalidObjectException; 4 import java.sql.Connection; 5 import java.sql.SQLException; 6 7 import org.jfree.data.DomainOrder; 8 import org.jfree.data.Range; 9 import org.jfree.data.general.DatasetChangeListener; 10 import org.jfree.data.general.DatasetGroup; 11 import org.jfree.data.general.SeriesChangeEvent; 12 import org.jfree.data.jdbc.JDBCXYDataset; 13 14 import com.wikihouse.wildcats0201.jdbcchart.jdbcutil.exception.SQLExceptionWrapper; 15 16 /*** 17 * <B>JDBCXYDataSetEnhanceFactory </B>. JDBCXYDatasetのFactoryです。 18 * 19 * @author $Author: wildcats $ 20 * @version $Revision: 5 $ 21 */ 22 public class JDBCXYDataSetEnhanceFactory { 23 24 private JDBCXYDataSetEnhanceFactory() { 25 } 26 27 public static JDBCXYDatasetEnhance create(Connection conn, String sql) { 28 JDBCXYDatasetEnhance datasetEnhance = null; 29 30 try { 31 datasetEnhance = new JDBCXYDatasetEnhanceImpl(conn, sql); 32 } catch (SQLException e) { 33 throw new SQLExceptionWrapper(e); 34 } 35 return datasetEnhance; 36 } 37 38 /*** 39 * <B>JDBCXYDatasetEnhanceImpl </B>. 40 * 41 * @author $Author$ 42 * @version $Revision: 5 $ 43 */ 44 private static class JDBCXYDatasetEnhanceImpl implements 45 JDBCXYDatasetEnhance { 46 47 private final JDBCXYDataset dataset; 48 49 private String[] legendItemLabels; 50 51 private JDBCXYDatasetEnhanceImpl() { 52 this.dataset = null; 53 } 54 55 /*** 56 * コンストラクタ. 57 * 58 * @param conn 59 * Connection 60 * @param sql 61 * SQL 62 * @throws SQLException 63 * SQL例外 64 */ 65 public JDBCXYDatasetEnhanceImpl(Connection conn, String sql) 66 throws SQLException { 67 this.dataset = new JDBCXYDataset(conn, sql); 68 } 69 70 /*** 71 * @see org.jfree.data.general.Dataset#addChangeListener(org.jfree.data.general.DatasetChangeListener) 72 */ 73 public void addChangeListener(DatasetChangeListener listener) { 74 dataset.addChangeListener(listener); 75 } 76 77 /*** 78 * @see java.lang.Object#clone() 79 */ 80 protected Object clone() throws CloneNotSupportedException { 81 return dataset.clone(); 82 } 83 84 /*** 85 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#close() 86 */ 87 public void close() { 88 dataset.close(); 89 } 90 91 /*** 92 * @see java.lang.Object#equals(java.lang.Object) 93 */ 94 public boolean equals(Object arg0) { 95 return dataset.equals(arg0); 96 } 97 98 /*** 99 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#executeQuery(java.lang.String) 100 */ 101 public void executeQuery(String query) throws SQLException { 102 dataset.executeQuery(query); 103 } 104 105 /*** 106 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#executeQuery(java.sql.Connection, 107 * java.lang.String) 108 */ 109 public void executeQuery(Connection con, String query) 110 throws SQLException { 111 dataset.executeQuery(con, query); 112 } 113 114 /*** 115 * @see org.jfree.data.xy.XYDataset#getDomainOrder() 116 */ 117 public DomainOrder getDomainOrder() { 118 return dataset.getDomainOrder(); 119 } 120 121 /*** 122 * @see org.jfree.data.general.Dataset#getGroup() 123 */ 124 public DatasetGroup getGroup() { 125 return dataset.getGroup(); 126 } 127 128 /*** 129 * @see org.jfree.data.xy.TableXYDataset#getItemCount() 130 */ 131 public int getItemCount() { 132 return dataset.getItemCount(); 133 } 134 135 /*** 136 * @see org.jfree.data.xy.XYDataset#getItemCount(int) 137 */ 138 public int getItemCount(int series) { 139 return dataset.getItemCount(series); 140 } 141 142 /*** 143 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#getLegendItemCount() 144 */ 145 public int getLegendItemCount() { 146 if (this.legendItemLabels.length != 0) { 147 return this.legendItemLabels.length; 148 } else { 149 return dataset.getLegendItemCount(); 150 } 151 } 152 153 /*** 154 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#getLegendItemLabels() 155 */ 156 public String[] getLegendItemLabels() { 157 if (this.legendItemLabels.length != 0) { 158 return this.legendItemLabels; 159 } else { 160 return dataset.getLegendItemLabels(); 161 } 162 } 163 164 /*** 165 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#setLegendItemLabels(java.lang.String[]) 166 */ 167 public void setLegendItemLabels(String[] itemLabels) { 168 if (itemLabels.length != dataset.getSeriesCount()) { 169 throw new RuntimeException("column no match"); 170 } 171 this.legendItemLabels = itemLabels; 172 } 173 174 /*** 175 * @see org.jfree.data.RangeInfo#getRangeBounds(boolean) 176 */ 177 public Range getRangeBounds(boolean includeInterval) { 178 return dataset.getRangeBounds(includeInterval); 179 } 180 181 /*** 182 * @see org.jfree.data.RangeInfo#getRangeLowerBound(boolean) 183 */ 184 public double getRangeLowerBound(boolean includeInterval) { 185 return dataset.getRangeLowerBound(includeInterval); 186 } 187 188 /*** 189 * @see org.jfree.data.RangeInfo#getRangeUpperBound(boolean) 190 */ 191 public double getRangeUpperBound(boolean includeInterval) { 192 return dataset.getRangeUpperBound(includeInterval); 193 } 194 195 /*** 196 * @see org.jfree.data.general.SeriesDataset#getSeriesCount() 197 */ 198 public int getSeriesCount() { 199 return this.legendItemLabels.length; 200 } 201 202 /*** 203 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#getSeriesName(int) 204 */ 205 public String getSeriesName(int seriesIndex) { 206 if ((seriesIndex < this.legendItemLabels.length) 207 && (this.legendItemLabels[seriesIndex] != null)) { 208 return this.legendItemLabels[seriesIndex]; 209 } else { 210 return ""; 211 } 212 } 213 214 /*** 215 * @see org.jfree.data.xy.XYDataset#getX(int, int) 216 */ 217 public Number getX(int series, int item) { 218 return dataset.getX(series, item); 219 } 220 221 /*** 222 * @see org.jfree.data.xy.XYDataset#getXValue(int, int) 223 */ 224 public double getXValue(int series, int item) { 225 return dataset.getXValue(series, item); 226 } 227 228 /*** 229 * @see org.jfree.data.xy.XYDataset#getY(int, int) 230 */ 231 public Number getY(int series, int item) { 232 return dataset.getY(series, item); 233 } 234 235 /*** 236 * @see org.jfree.data.xy.XYDataset#getYValue(int, int) 237 */ 238 public double getYValue(int series, int item) { 239 return dataset.getYValue(series, item); 240 } 241 242 /*** 243 * @see java.lang.Object#hashCode() 244 */ 245 public int hashCode() { 246 return dataset.hashCode(); 247 } 248 249 /*** 250 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#isTimeSeries() 251 */ 252 public boolean isTimeSeries() { 253 return dataset.isTimeSeries(); 254 } 255 256 /*** 257 * @see org.jfree.data.general.Dataset#removeChangeListener(org.jfree.data.general.DatasetChangeListener) 258 */ 259 public void removeChangeListener(DatasetChangeListener listener) { 260 dataset.removeChangeListener(listener); 261 } 262 263 /*** 264 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#seriesChanged(org.jfree.data.general.SeriesChangeEvent) 265 */ 266 public void seriesChanged(SeriesChangeEvent event) { 267 dataset.seriesChanged(event); 268 } 269 270 /*** 271 * @see org.jfree.data.general.Dataset#setGroup(org.jfree.data.general.DatasetGroup) 272 */ 273 public void setGroup(DatasetGroup group) { 274 dataset.setGroup(group); 275 } 276 277 /*** 278 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#setTimeSeries(boolean) 279 */ 280 public void setTimeSeries(boolean timeSeries) { 281 dataset.setTimeSeries(timeSeries); 282 } 283 284 /*** 285 * @see java.lang.Object#toString() 286 */ 287 public String toString() { 288 return dataset.toString(); 289 } 290 291 /*** 292 * @see com.wikihouse.wildcats0201.jdbcchart.JDBCXYDatasetEnhance#validateObject() 293 */ 294 public void validateObject() throws InvalidObjectException { 295 dataset.validateObject(); 296 } 297 298 /*** 299 * @see org.jfree.data.general.SeriesDataset#getSeriesKey(int) 300 */ 301 public Comparable getSeriesKey(int arg0) { 302 return dataset.getSeriesKey(arg0); 303 } 304 305 /*** 306 * @see org.jfree.data.general.SeriesDataset#indexOf(java.lang.Comparable) 307 */ 308 public int indexOf(Comparable arg0) { 309 return dataset.indexOf(arg0); 310 } 311 } 312 313 }