パッケージ 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) 新規追加
導入されたバージョン:
  JDK1.6,

- ## コンストラクタの概要

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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対応