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

## クラス HybsCategoryDataset

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

- すべての実装されたインタフェース:
    `ObjectInputValidation`, `Serializable`, `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​(Object object)` | この文字列と指定されたオブジェクトを比較します。
    `void` | `execute​(Connection conn, String query)` | コネクションと、SQL文字列から、CategoryDataset のデータを作成します。
    `void` | `execute​(DBTableModel table)` | DBTableModelオブジェクトから、CategoryDataset のデータを作成します。
    `Color[]` | `getCategoryColor()` | categoryカラー配列を取得します。
    `org.jfree.data.Range` | `getRange()` | レンジオブジェクトを取得します。
    `Number` | `getValue​(int row, int column)` | 指定された行列から、数字オブジェクトを取得します。
    `int` | `hashCode()` | このオブジェクトのハッシュコードを取得します。
    `void` | `initParam​(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.general.Dataset

      `addChangeListener, getGroup, removeChangeListener, setGroup`

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

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

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

      `getColumnCount, getRowCount`

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

    - #### HybsCategoryDataset

          public HybsCategoryDataset()

      デフォルトコンストラクター
      変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### initParam

          public void initParam​(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​(Connection conn,
                              String query)
                       throws SQLException

      コネクションと、SQL文字列から、CategoryDataset のデータを作成します。 元となる処理は、org.jfree.data.jdbc.JDBCCategoryDataset#executeQuery( Connection,String ) です。 このメソッドでは、先に #initParam(String[],boolean,isPareto) のパラメータを使用して 検索した結果のデータを加工、処理します。 また、内部的に、データをキャッシュする事と、データ範囲を示す レンジオブジェクト を作成します。
      定義:
        `execute` インタフェース内 `HybsDataset`
      パラメータ:
        `conn` - コネクション
        `query` - 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 文で記述。, 6.9.3.0 (2018/03/26) データ検索時のフェッチサイズを設定。, 6.9.7.0 (2018/05/14) データ０件のときは、処理を中断します。

    - #### 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分率にする。, 6.9.7.0 (2018/05/14) データ０件のときは、処理を中断します。

    - #### getValue

          public 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 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​(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対応