View Javadoc

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 }