パッケージ org.opengion.hayabusa.io

## クラス ChartFactory

- java.lang.Object
- - org.opengion.hayabusa.io.ChartFactory

-     public final class ChartFactory
      extends Object

  ChartFactory は、Dataset および、Renderer のオブジェクトを構築するファクトリクラスです。 JFreeChart では、各種オブジェクトの組み合わせで、色々なグラフを作成できます。 ここでは、簡易的にオブジェクトを構築できるように、一つのキーワードによって、各種作成する オブジェクトのキーワードを関連付けておきます。

  各種オブジェクトの組み合わせ一覧
  チャートタイプ | レンデラー(org.jfree.chart.renderer.) | Dataset
  --- | --- | ---
  HybsLine | HybsLineRenderer | Category
  LineAndShape | category.LineAndShapeRenderer | Category
  Line3D | category.LineRenderer3D | Category
  StatisticalLineAndShape | category.StatisticalLineAndShapeRenderer | Category
  HybsParetoLine | HybsLineRenderer | ParetoCategory
  HybsBar | HybsBarRenderer | Category
  HybsColorBar | HybsBarRenderer | Category
  Bar | category.BarRenderer | Category
  Bar3D | category.BarRenderer3D | Category
  HybsColorBar3D | HybsBarRenderer3D | Category
  Area | category.AreaRenderer | Category
  HybsStackedBar | HybsStackedBarRenderer | Category
  StackedBar | category.StackedBarRenderer | Category
  StackedBar3D | category.StackedBarRenderer3D | Category
  StackedArea | category.StackedAreaRenderer | Category
  GroupedStackedBar | category.GroupedStackedBarRenderer | Category
  LayeredBar | category.LayeredBarRenderer | Category
  CategoryStep | category.CategoryStepRenderer | Category
  Level | category.LevelRenderer | Category
  MinMax | category.MinMaxCategoryRenderer | Category
  WaterfallBar | category.WaterfallBarRenderer | Category
  MultiplePie | null | Category
  SpiderWeb | null | Category
  Pie | null | Pie
  Pie3D | null | Pie
  Ring | null | Pie
  XYArea | xy.XYAreaRenderer | XY
  XYArea2 | xy.XYAreaRenderer2 | XY
  XYBlock | xy.XYBlockRenderer | XY
  CyclicXYItem | xy.CyclicXYItemRenderer | XY
  HighLow | xy.HighLowRenderer | XY
  StackedXYArea | xy.StackedXYAreaRenderer | XY
  StackedXYArea2 | xy.StackedXYAreaRenderer2 | XY
  StandardXYItem | xy.StandardXYItemRenderer | XY
  XYBubble | xy.XYBubbleRenderer | XY
  XYDifference | xy.XYDifferenceRenderer | XY
  XYDot | xy.XYDotRenderer | XY
  XYError | xy.XYErrorRenderer | XY
  XYLine3D | xy.XYLine3DRenderer | XY
  XYLineAndShape | xy.XYLineAndShapeRenderer | XY
  XYStepArea | xy.XYStepAreaRenderer | XY
  XYStep | xy.XYStepRenderer | XY
  PolarItem | DefaultPolarItemRenderer | XY
  Meter | null | Value
  Thermometer | null | Value
  Compass | null | Value
  Gantt | category.GanttRenderer | TaskSeries
  XYBarV | xy.XYBarRenderer | TimeSeries
  ClusteredXYBarV | xy.ClusteredXYBarRenderer | TimeSeries
  YIntervalV | xy.YIntervalRenderer | TimeSeries
  DeviationV | xy.DeviationRenderer | TimeSeries
  TimeSeriesLineV | xy.StandardXYItemRenderer | TimeSeries
  TimeSeriesLineH | xy.StandardXYItemRenderer | TimeSeries
  TimeSeriesBarV | xy.XYBarRenderer | TimeSeries
  TimeSeriesBarH | xy.XYBarRenderer | TimeSeries
  StackedTimeSeriesLineV | xy.StandardXYItemRenderer | TimeSeries
  StackedTimeSeriesLineH | xy.StandardXYItemRenderer | TimeSeries
  TimeStepV | xy.XYStepRenderer | TimeSeries
  TimeStepH | xy.XYStepRenderer | TimeSeries

  バージョン
    0.9.0 2007/06/21
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.1,

- - ### メソッドの概要

    すべてのメソッド staticメソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `static int` | `getRowCount​(org.jfree.data.general.Dataset dataset)` | Datasetオブジェクトのデータ件数を返します。
    `static TypeRenderer` | `getTypeRenderer​(String type)` | TypeRenderer オブジェクトを作成します。
    `static ChartPlot` | `newChartPlot​(String type)` | ChartPlot オブジェクトを作成します。
    `static org.jfree.data.general.Dataset` | `newDataset​(Connection conn, String query, String type, String[] lbls, boolean useCateColor)` | Connection と query 文字列から、Dataset オブジェクトを作成します。
    `static org.jfree.data.general.Dataset` | `newDataset​(DBTableModel table, String type, String[] lbls, boolean useCateColor)` | DBTableModelオブジェクトから、Dataset オブジェクトを作成します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### メソッドの詳細

    - #### newDataset

          public static org.jfree.data.general.Dataset newDataset​(Connection conn,
                                                                  String query,
                                                                  String type,
                                                                  String[] lbls,
                                                                  boolean useCateColor)
                                                           throws SQLException

      Connection と query 文字列から、Dataset オブジェクトを作成します。 引数のtypeは、内部定義の TYPE_RENDERER_MAP マップで関連付けられたキーワード より、対象とするチャート特性を取得します。(getTypeRenderer) その TypeRenderer#getDatasetType() メソッドの値を元に、Dataset クラスは、 "org.jfree.data.jdbc.JDBC****Dataset" の **** の箇所を特定します。 現状は、Category , ParetoCategory , Pie , XY の３種類 ＋ Valueデータセットが選択されます。
      パラメータ:
        `conn` - Dataset の取得先のコネクション
        `query` - 取得するクエリー文字列
        `type` - Dataset オブジェクトの作成元を求めるキーワード
        `lbls` - シリーズのラベル名配列
        `useCateColor` - カテゴリのカラー名指定 [false:指定しない/true:指定する]
      戻り値:
        Datasetオブジェクト
      例外:
        `SQLException` - データベースアクセスエラー
      関連項目:
        `getTypeRenderer( String )`, `newDataset( DBTableModel ,String ,String[] ,boolean )`
      変更履歴:
        3.8.9.2 (2007/07/28) HybsJDBCCategoryDataset 追加, 5.3.0.0 (2010/12/01) その他のDataset 追加, 5.6.1.0 (2013/02/01) 時間軸を持つチャート TimeSeries 追加, 6.0.2.0 (2014/09/19) シリーズのラベル名配列追加, 6.0.2.1 (2014/09/26) パレート図用のDataset ParetoCategory 追加, 6.0.2.2 (2014/10/03) カテゴリのカラー名指定 useCategoryColor 追加

    - #### newDataset

          public static org.jfree.data.general.Dataset newDataset​(DBTableModel table,
                                                                  String type,
                                                                  String[] lbls,
                                                                  boolean useCateColor)

      DBTableModelオブジェクトから、Dataset オブジェクトを作成します。 引数のtypeは、内部定義の TYPE_RENDERER_MAP マップで関連付けられたキーワード より、対象とするチャート特性を取得します。(getTypeRenderer) その TypeRenderer#getDatasetType() メソッドの値を元に、Dataset クラスを作成します。 現状は、Category , ParetoCategory , Pie , XY の３種類 ＋ Valueデータセットが選択されます。 ※ DBTableModel の row,col と、Dataset の row,col は、逆になっています。
      パラメータ:
        `table` - Dataset の取得先のテーブルモデル
        `type` - Dataset オブジェクトの作成元を求めるキーワード
        `lbls` - シリーズのラベル名配列
        `useCateColor` - カテゴリのカラー名指定 [false:指定しない/true:指定する]
      戻り値:
        Datasetオブジェクト
      関連項目:
        `getTypeRenderer( String )`, `newDataset( Connection ,String ,String ,String[] ,boolean )`
      変更履歴:
        5.3.0.0 (2010/12/01) 新規追加, 6.0.2.0 (2014/09/19) シリーズのラベル名配列追加, 6.0.2.1 (2014/09/26) パレート図用のDataset ParetoCategory 追加, 6.0.2.2 (2014/10/03) カテゴリのカラー名指定 useCategoryColor 追加

    - #### getRowCount

          public static int getRowCount​(org.jfree.data.general.Dataset dataset)

      Datasetオブジェクトのデータ件数を返します。 org.jfree.data.general.Dataset には、共通に利用できる件数取得のメソッドが定義されていません。 なので、個々のクラスごとに、取得します。 ChartFactory に持っているのは、このクラスで、Dataset の実態を作成している関係上、 新しいクラスを追加時に、このメソッドの手直しが必要になるからです。
      パラメータ:
        `dataset` - Datasetオブジェクト
      戻り値:
        データ件数
      変更履歴:
        6.9.7.0 (2018/05/14) データ０件の対応。

    - #### getTypeRenderer

          public static TypeRenderer getTypeRenderer​(String type)

      TypeRenderer オブジェクトを作成します。 引数のtypeは、内部定義の TYPE_RENDERER_MAP マップで関連付けられたキーワード より、対象とするチャート特性を取得します。 typeは、org.jfree.chart.renderer.XXXX.YYYYRenderer のYYYY とほぼ一致します。 TYPE_RENDERER_MAP マップには、XXXX.YYYYRenderer 部分が定義されています。 XXXX は、category と xy が定義されており、それ以外のレンデラーは null に なっています。Pie 関係は、レンデラーではなく、Plot と対応します。 ただし、個々に設定情報が異なる為、ChartPlot_Pie クラスで個別対応しています。
      パラメータ:
        `type` - Rendererオブジェクトの作成元を求めるキーワード
      戻り値:
        TypeRendererオブジェクト

    - #### newChartPlot

          public static ChartPlot newChartPlot​(String type)

      ChartPlot オブジェクトを作成します。 ChartPlot オブジェクトは、ChartPlot インターフェースを継承した サブクラスで、"org.opengion.hayabusa.io.ChartPlot_**** になります。 **** には、Category , Pie , XY が指定できます。
      パラメータ:
        `type` - Rendererオブジェクトの作成元を求めるキーワード
      戻り値:
        ChartPlotオブジェクト
      変更履歴:
        4.0.0.0 (2007/11/29) ChartPlot のサブクラスを動的に作成、キャッシュします。, 5.3.0.0 (2010/12/01) xxxPlot対応, 5.6.1.0 (2013/02/01) 時間軸を持つチャート TimeSeries 追加