org.opengion.hayabusa.io

## クラス HybsCategoryDataset

- java.lang.Object
- - org.jfree.data.general.AbstractDataset
  - - org.jfree.data.category.DefaultCategoryDataset
    - - org.opengion.hayabusa.io.HybsCategoryDataset

- すべての実装されたインタフェース:
    java.io.ObjectInputValidation, java.io.Serializable, java.lang.Cloneable, org.jfree.data.category.CategoryDataset, org.jfree.data.general.Dataset, org.jfree.data.KeyedValues2D, org.jfree.data.Values2D, org.jfree.util.PublicCloneable, HybsDataset

      public class HybsCategoryDataset
      extends org.jfree.data.category.DefaultCategoryDataset
      implements HybsDataset

       HybsCategoryDataset は、org.jfree.data.category.DefaultCategoryDataset を継承したサブクラスで、
       HybsDataset インターフェースの実装クラスになっています。
       これは、JDBCCategoryDatasetの データベース機能と、DBTableModel から Dataset を作成する機能を
       兼ね備えています。
       HybsDataset インターフェースは、シリーズのラベル指定、カテゴリカラーバー、パレート図用積上げ
       計算などの処理を行うための、インターフェースで、それらの処理も、HybsCategoryDataset に実装します。

       このクラスでは、検索結果を内部で持っておき、getValue(int row, int column)
       メソッドで直接値を返します。

       select category,series1,series2,series3,･･･ from ･･･
       series の横持ち(標準と同じ) 対応です。
       category カラムの値は、カテゴリのラベルになり、series1,2,3 のラベルがシリーズラベル、値が
       seriesの値になります。

       カテゴリのカラー名の指定を行う場合、最後のカラムが、カラー名の文字列になります。
       select category,series1,series2,series3,･･･,color from ･･･
       color文字列の検索結果は、Dataset には含まれません。

       その場合、color カラムがシリーズとして認識されない様に、ChartDatasetTag で、useCategoryColor="true"
       を指定しておく必要があります。このフラグは、HybsCategoryDataset を使う処理以外では効果が
       ありません（シリーズとして使用されてしまう）のでご注意ください。
       このフラグは、カテゴリカラーバーを使う場合には必要ですが、カテゴリカラーバーと（例えばパレート図）
       を合成する場合に、パレート図側にも useCategoryColor="true" を設定しておけば、同じSQL または、
       DBTableModel を使う事ができるというためのフラグです。

       なお、Colorコードは、このクラスで作成しますが、Renderer に与える必要があります。
       通常のRenderer には、categoryにカラーを指定する機能がありませんので、HybsBarRenderer に
       setCategoryColor( Color[] ) メソッドを用意します。(正確には、HybsDrawItem インターフェース)
       このRenderer で、getItemPaint( int  , int )メソッドをオーバーライドすることで、カテゴリごとの
       色を返します。

  関連項目:
    直列化された形式
  変更履歴:

    6.0.2.2 (2014/10/03) 新規追加

  バージョン
    6.0.2.2 (2014/10/03)
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.6,

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `HybsCategoryDataset()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `boolean` | `equals(java.lang.Object object)` この文字列と指定されたオブジェクトを比較します。
    `void` | `execute(java.sql.Connection conn, java.lang.String query)` コネクションと、SQL文字列から、CategoryDataset のデータを作成します。
    `void` | `execute(DBTableModel table)` DBTableModelオブジェクトから、CategoryDataset のデータを作成します。
    `java.awt.Color[]` | `getCategoryColor()` categoryカラー配列を取得します。
    `org.jfree.data.Range` | `getRange()` レンジオブジェクトを取得します。
    `java.lang.Number` | `getValue(int row, int column)` 指定された行列から、数字オブジェクトを取得します。
    `int` | `hashCode()` このオブジェクトのハッシュコードを取得します。
    `void` | `initParam(java.lang.String[] lbls, boolean isColCate, boolean isPareto)` CategoryDataset を構築するに当たり、初期パラメータを設定します。

    - ### クラスから継承されたメソッド org.jfree.data.category.DefaultCategoryDataset

      `addValue, addValue, clear, clone, getColumnCount, getColumnIndex, getColumnKey, getColumnKeys, getRowCount, getRowIndex, getRowKey, getRowKeys, getValue, incrementValue, removeColumn, removeColumn, removeRow, removeRow, removeValue, setValue, setValue`

    - ### クラスから継承されたメソッド org.jfree.data.general.AbstractDataset

      `addChangeListener, fireDatasetChanged, getGroup, getNotify, hasListener, notifyListeners, removeChangeListener, setGroup, setNotify, validateObject`

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

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### インタフェースから継承されたメソッド org.jfree.data.KeyedValues2D

      `getColumnIndex, getColumnKey, getColumnKeys, getRowIndex, getRowKey, getRowKeys, getValue`

    - ### インタフェースから継承されたメソッド org.jfree.data.Values2D

      `getColumnCount, getRowCount`

    - ### インタフェースから継承されたメソッド org.jfree.data.general.Dataset

      `addChangeListener, getGroup, removeChangeListener, setGroup`

- - ### コンストラクタの詳細

    - #### HybsCategoryDataset

          public HybsCategoryDataset()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### initParam

          public void initParam(java.lang.String[] lbls,
                                boolean isColCate,
                                boolean isPareto)

      CategoryDataset を構築するに当たり、初期パラメータを設定します。
      定義:
        `initParam` インタフェース内 `HybsDataset`
      パラメータ:
        `lbls` - シリーズのラベル名配列
        `isColCate` - カテゴリのカラー名の指定有無(true:使用する)
        `isPareto` - パレート図用のDatasetとして処理するかどうか(true:処理する)
      変更履歴:

        6.0.2.2 (2014/10/03) 新規追加

    - #### execute

          public void execute(java.sql.Connection conn,
                              java.lang.String query)
                       throws java.sql.SQLException

      コネクションと、SQL文字列から、CategoryDataset のデータを作成します。 元となる処理は、org.jfree.data.jdbc.JDBCCategoryDataset#executeQuery( Connection,String ) です。 このメソッドでは、先に #initParam(String[],boolean,isPareto) のパラメータを使用して 検索した結果のデータを加工、処理します。 また、内部的に、データをキャッシュする事と、データ範囲を示す レンジオブジェクト を作成します。
      定義:
        `execute` インタフェース内 `HybsDataset`
      パラメータ:
        `conn` - コネクション
        `query` - SQL文字列
      例外:
        `java.sql.SQLException` - データベースアクセス時のエラー
      関連項目:
        `JDBCCategoryDataset.executeQuery( Connection,String )`, `ResultSetValue`
      変更履歴:

        6.0.2.2 (2014/10/03) 新規追加
        6.0.2.3 (2014/10/19) パレート図は、100分率にする。
        6.0.4.0 (2014/11/28) ResultSetValue を使用するように変更。
        6.4.2.1 (2016/02/05) try-with-resources 文で記述。

    - #### execute

          public void execute(DBTableModel table)

      DBTableModelオブジェクトから、CategoryDataset のデータを作成します。 openGionの独自処理メソッドです。 このメソッドでは、先に #initParam(String[],boolean,isPareto) のパラメータを使用して 検索した結果のデータを加工、処理します。 また、内部的に、データをキャッシュする事と、データ範囲を示す レンジオブジェクト を作成します。
      定義:
        `execute` インタフェース内 `HybsDataset`
      パラメータ:
        `table` - DBTableModelオブジェクト
      関連項目:
        `execute( Connection,String )`
      変更履歴:

        6.0.2.2 (2014/10/03) 新規追加
        6.0.2.3 (2014/10/19) パレート図は、100分率にする。

    - #### getValue

          public java.lang.Number getValue(int row,
                                           int column)

      指定された行列から、数字オブジェクトを取得します。
      定義:
        `getValue` インタフェース内 `org.jfree.data.Values2D`
      オーバーライド:
        `getValue` クラス内 `org.jfree.data.category.DefaultCategoryDataset`
      パラメータ:
        `row` - 行番号(シリーズ：横持=clm相当)
        `column` - カラム番号(カテゴリ：縦持ち=row相当)
      戻り値:
        指定の行列の値

    - #### getRange

          public org.jfree.data.Range getRange()

      レンジオブジェクトを取得します。(独自メソッド)
      定義:
        `getRange` インタフェース内 `HybsDataset`
      戻り値:
        レンジオブジェクト

    - #### getCategoryColor

          public java.awt.Color[] getCategoryColor()

      categoryカラー配列を取得します。(独自メソッド) このクラスは、一番最後のカラムを、色文字列として処理し、categoryにColorを指定できます。 select文で指定されていなかった場合は、null を返します。 select category,series1,series2,series3,･･･,color from ･･･
      定義:
        `getCategoryColor` インタフェース内 `HybsDataset`
      戻り値:
        categoryカラー配列(なければ null)
      変更履歴:

        6.0.2.2 (2014/10/03) 新規追加 なお、Colorコードは、このクラスで作成しますが、Renderer に与える必要があります。 通常のRenderer には、categoryにカラーを指定する機能がありませんので、HybsBarRenderer に setCategoryColor( Color[] ) メソッドを用意します。(正確には、HybsDrawItem インターフェース) このRenderer で、getItemPaint( int , int )メソッドをオーバーライドすることで、カテゴリごとの 色を返します。 この設定を行うと、シリーズは、カテゴリと同一色になります。

    - #### equals

          public boolean equals(java.lang.Object object)

      この文字列と指定されたオブジェクトを比較します。 親クラスで、equals メソッドが実装されているため、警告がでます。
      オーバーライド:
        `equals` クラス内 `org.jfree.data.category.DefaultCategoryDataset`
      パラメータ:
        `object` - 比較するオブジェクト
      戻り値:
        Objectが等しい場合は true、そうでない場合は false
      変更履歴:

        5.1.8.0 (2010/07/01) findbug対応
        5.1.9.0 (2010/08/01) findbug対応

    - #### hashCode

          public int hashCode()

      このオブジェクトのハッシュコードを取得します。
      オーバーライド:
        `hashCode` クラス内 `org.jfree.data.category.DefaultCategoryDataset`
      戻り値:
        ハッシュコード
      変更履歴:

        5.1.8.0 (2010/07/01) findbug対応
        5.1.9.0 (2010/08/01) findbug対応

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.