パッケージ org.opengion.fukurou.fileexec

## クラス ResultSetValue

- java.lang.Object
- - org.opengion.fukurou.fileexec.ResultSetValue

- すべての実装されたインタフェース:
    `AutoCloseable`

      public class ResultSetValue
      extends Object
      implements AutoCloseable

  ResultSet のデータ処理をまとめたクラスです。 ここでは、ResultSetMetaData から、カラム数、カラム名(NAME列)、 Type属性を取得し、ResultSet で、値を求める時に、Object型の 処理を行います。 Object型としては、CLOB、ROWID、TIMESTAMP 型のみ取り扱っています。 STRUCTタイプもサポートしますが、1レベルのみとします。(6.3.3.0 (2015/07/25))
  変更履歴:
    7.0.0.0 (2017/07/07) 新規作成
  バージョン
    7.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.8,

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `ResultSetValue​(ResultSet res)` | ResultSet を引数にとるコンストラクタ ここで、カラムサイズ、カラム名、java.sql.Types の定数定義 を取得します。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `close()` | try-with-resourcesブロックで、自動的に呼ばれる AutoCloseable の実装。
    `String` | `getClassName​(int clmNo)` | カラムのタイプを表現する文字列値を返します。
    `int` | `getColumnCount()` | ResultSetMetaData で求めた、カラム数を返します。
    `int` | `getColumnDisplaySize​(int clmNo)` | 指定のカラム番号のサイズを返します。
    `String` | `getColumnName​(int clmNo)` | 指定のカラム番号のカラム名を返します。
    `String[]` | `getNames()` | カラム名配列を返します。
    `Number` | `getNumber​(int clmNo)` | タイプに応じて変換された、Numberオブジェクトを返します。
    `String` | `getValue​(int clmNo)` | 現在のカーソル位置にあるレコードのカラム番号のデータを取得します。
    `String[]` | `getValues()` | 現在のカーソル位置にあるレコードの全カラムデータを取得します。
    `boolean` | `isWritable​(int clmNo)` | 指定の書き込み可能かどうかを返します。
    `boolean` | `next()` | カーソルを現在の位置から順方向に1行移動します。

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

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

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

    - #### ResultSetValue

          public ResultSetValue​(ResultSet res)
                         throws SQLException

      ResultSet を引数にとるコンストラクタ ここで、カラムサイズ、カラム名、java.sql.Types の定数定義 を取得します。 STRUCTタイプもサポートしますが、1レベルのみとします。 つまり、Object型のカラムに、Object型を定義した場合、ここでは取り出すことができません。 また、Object型は、継承関係を構築できるため、個々のオブジェクトの要素数は異なります。 一番最初のレコードのオブジェクト数を元に、算出しますので、ご注意ください。
      パラメータ:
        `res` - 内部で管理するResultSetオブジェクト
      例外:
        `SQLException` - データベース・アクセス・エラーが発生した場合

  - ### メソッドの詳細

    - #### getColumnCount

          public int getColumnCount()

      ResultSetMetaData で求めた、カラム数を返します。
      戻り値:
        カラム数(データの列数)

    - #### getNames

          public String[] getNames()

      カラム名配列を返します。 配列は、0から始まり、カラム数-1 までの文字型配列に設定されます。 カラム名は、ResultSetMetaData#getColumnLabel(int) を toUpperCase した 大文字が返されます。
      戻り値:
        カラム名配列
      このメソッドは、nullを返しません

    - #### getColumnName

          public String getColumnName​(int clmNo)

      指定のカラム番号のカラム名を返します。 カラム名を取得する、カラム番号は、0から始まり、カラム数-1 までの数字で指定します。 データベース上の、1から始まる番号とは、異なります。 カラム名は、ResultSetMetaData#getColumnLabel(int) を toUpperCase した 大文字が返されます。
      パラメータ:
        `clmNo` - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
        指定のカラム番号のカラム名

    - #### getColumnDisplaySize

          public int getColumnDisplaySize​(int clmNo)

      指定のカラム番号のサイズを返します。 カラムのサイズは、ResultSetMetaData#getColumnDisplaySize(int) の値です。
      パラメータ:
        `clmNo` - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
        指定のカラム番号のサイズ

    - #### isWritable

          public boolean isWritable​(int clmNo)

      指定の書き込み可能かどうかを返します。 カラムの書き込み可能かどうかは、ResultSetMetaData#isWritable(int) の値です。
      パラメータ:
        `clmNo` - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
        書き込み可能かどうか

    - #### next

          public boolean next()
                       throws SQLException

      カーソルを現在の位置から順方向に1行移動します。 ResultSet#next() を呼び出しています。 結果は,すべて文字列に変換されて格納されます。
      戻り値:
        新しい現在の行が有効である場合はtrue、行がそれ以上存在しない場合はfalse
      例外:
        `SQLException` - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた結果セットで呼び出された場合
      関連項目:
        `ResultSet.next()`

    - #### getValue

          public String getValue​(int clmNo)
                          throws SQLException

      現在のカーソル位置にあるレコードのカラム番号のデータを取得します。 ResultSet#getObject( clmNo+1 ) を呼び出しています。 引数のカラム番号は、0から始まりますが、ResultSet のカラム順は、1から始まります。 指定は、0から始まるカラム番号です。 結果は,すべて文字列に変換されて返されます。 また、null オブジェクトの場合も、ゼロ文字列に変換されて返されます。
      パラメータ:
        `clmNo` - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
        現在行のカラム番号のデータ(文字列)
      例外:
        `SQLException` - データベース・アクセス・エラーが発生した場合
      このメソッドは、nullを返しません

    - #### getValues

          public String[] getValues()
                             throws SQLException

      現在のカーソル位置にあるレコードの全カラムデータを取得します。 個々のカラムの値も、null を含みません。(ゼロ文字列になっています) #getValue( clmNo ) を、0から、カラム数-1 まで呼び出して求めた文字列配列を返します。
      戻り値:
        現在行の全カラムデータの文字列配列
      例外:
        `SQLException` - データベース・アクセス・エラーが発生した場合
      このメソッドは、nullを返しません

    - #### getNumber

          public Number getNumber​(int clmNo)
                           throws SQLException

      タイプに応じて変換された、Numberオブジェクトを返します。 条件に当てはまらない場合は、null を返します。 org.opengion.hayabusa.io.HybsJDBCCategoryDataset2 から移動してきました。 これは、検索結果をグラフ化する為の 値を取得する為のメソッドですので、 数値に変換できない場合は、エラーになります。
      パラメータ:
        `clmNo` - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
        Numberオブジェクト(条件に当てはまらない場合は、null)
      例外:
        `SQLException` - データベース・アクセス・エラーが発生した場合
        `RuntimeException` - 数字変換できなかった場合。
      関連項目:
        `Types`

    - #### getClassName

          public String getClassName​(int clmNo)

      カラムのタイプを表現する文字列値を返します。 この文字列を用いて、CCSファイルでタイプごとの表示方法を 指定することができます。 現時点では、VARCHAR2,LONG,NUMBER,DATE,CLOB,NONE のどれかにあてはめます。
      パラメータ:
        `clmNo` - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
        カラムのタイプを表現する文字列値
      関連項目:
        `Types`
      このメソッドは、nullを返しません

    - #### close

          public void close()

      try-with-resourcesブロックで、自動的に呼ばれる AutoCloseable の実装。 コンストラクタで渡された ResultSet を close() します。
      定義:
        `close` インタフェース内 `AutoCloseable`
      関連項目:
        `AutoCloseable.close()`
      変更履歴:
        6.4.2.1 (2016/02/05) 新規作成。try-with-resourcesブロックで、自動的に呼ばれる AutoCloseable の実装。