概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.1.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.plugin.query
クラス AbstractQuery

    java.lang.Object
      org.opengion.plugin.query.AbstractQuery

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

直系の既知のサブクラス:
  Query_JDBC, Query_JDBCArrayCallable, Query_JDBCCallable, Query_JDBCErrMsg, Query_JDBCKeyEntry, Query_JDBCPLSQL, Query_JDBCPrepared, Query_JDBCTableUpdate, Query_JDBCUpdate

     class AbstractQuery

extends Object
implements Query

Query インターフェースを継承した Query の実装クラスです。 クエリークラスにステートメントを与えて execute()することにより内部に DBTableModel を 作成します。 このクラスは、Abstract クラスのため、実装は個々のサブクラスで行います。 唯一実装する必要があるのは, execute() メソッドだけです。

機能階層
  ＤＢ検索, ＤＢ登録
バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

フィールドの概要
`static String` | `ARG_ARRAY`
`protected static int` | `DB_MAX_QUERY_TIMEOUT`
`static String` | `ERR_MSG`
`static String` | `ERR_MSG_ARRAY`
`static String` | `SYSARG_ARRAY`

コンストラクタの概要
`AbstractQuery()`

メソッドの概要
`void` | `close()` 使用した Statementオブジェクトをクロースし、Connection オブジェクトを プールに返します。
`void` | `commit()` コミットを行います。
`protected void` | `createTableModel(ResultSet resultSet)` ResultSet を DBTableModelに割り当てます。
`void` | `execute()` クエリーを実行します。
`void` | `execute(int[] rowNo, DBTableModel table)` 引数配列付のクエリーを実行します。
`void` | `execute(String[] args)` 引数配列付のクエリーを実行します。
`void` | `execute(String[] keys, String[] args)` 引数配列付のクエリーを実行します。
`void` | `execute(String names, String dbArrayType, DBSysArg[] sysArg, DBUserArg[] userArg)` 引数配列付のクエリーを実行します。
`protected Connection` | `getConnection()` ConnectionFactory.connection( String ); を利用して,Connection オブジェクトを取り出します。
`DBTableModel` | `getDBTableModel()` 実行結果の DBTableModel を返します。
`int` | `getErrorCode()` エラーコード を取得します。
`ErrorMessage` | `getErrorMessage()` エラーメッセージオブジェクト を取得します。
`int` | `getExecuteCount()` クエリーの実行結果を返します。
`String` | `getLang()` 内部のリソースを元に言語コード を返します。
`int` | `getMaxRowCount()` データベースの最大検索件数を返します。
`int` | `getSkipRowCount()` データベースの検索スキップ件数を返します。
`String` | `getStatement()` ステートメント文字列を取り出します。
`void` | `init()` Query オブジェクトを初期化します。
`boolean` | `isUpdate()` アップデートフラグを取得します。
`void` | `realClose()` Connection オブジェクトを実際にクローズ（破棄）します。
`void` | `rollback()` ロールバックを行います。
`void` | `setApplicationInfo(ApplicationInfo appInfo)` アクセスログ取得の為,ApplicationInfo オブジェクトを設定します。
`void` | `setConnectionID(String connID)` データベースの接続先IDをセットします。
`protected void` | `setDBTableModel(DBTableModel table)` DBTableModel をセットします。
`protected void` | `setErrorCode(int cd)` エラーコード をセットします。
`protected void` | `setErrorMessage(ErrorMessage em)` エラーメッセージオブジェクト をセットします。
`protected void` | `setExecuteCount(int executeCount)` クエリーの実行結果件数をセットします。
`void` | `setMaxRowCount(int maxRowCount)` データベースの最大検索件数をセットします。
`void` | `setResourceManager(ResourceManager resource)` リソースマネージャーをセットします。
`void` | `setSkipRowCount(int skipRowCount)` データベースの検索スキップ件数をセットします。
`void` | `setStatement(String stmt)` ステートメント文字列をセットします。
`protected void` | `setUpdateFlag(boolean up)` アップデートフラグをセットします。
`String` | `toString()` オブジェクトの識別子として，最後のクエリーを返します。
`protected String` | `type2ClassName(int type)` カラムのタイプを表現する文字列値を返します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

フィールドの詳細

### DB_MAX_QUERY_TIMEOUT

    protected static final int DB_MAX_QUERY_TIMEOUT

### ARG_ARRAY

    public static final String ARG_ARRAY

関連項目:
  定数フィールド値

### SYSARG_ARRAY

    public static final String SYSARG_ARRAY

関連項目:
  定数フィールド値

### ERR_MSG

    public static final String ERR_MSG

関連項目:
  定数フィールド値

### ERR_MSG_ARRAY

    public static final String ERR_MSG_ARRAY

関連項目:
  定数フィールド値

コンストラクタの詳細

### AbstractQuery

    AbstractQuery()

メソッドの詳細

### init

    public void init()

  Query オブジェクトを初期化します。 これは、QueryFactory のプールから取り出すときに（または戻すとき）に 初期化するのに使用します。

  定義:
    インタフェース `Query` 内の `init`
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。
    3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfo オブジェクトを設定

### setStatement

    public void setStatement(String stmt)

  ステートメント文字列をセットします。

  定義:
    インタフェース `Query` 内の `setStatement`
  パラメータ:
    `stmt` - String
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### getStatement

    public String getStatement()

  ステートメント文字列を取り出します。

  定義:
    インタフェース `Query` 内の `getStatement`
  戻り値:
    stmtString String

### execute

    public void execute()

  クエリーを実行します。 実行方法等は各サブクラスの実装に依存します。 セットされているステートメント文字列とそのタイプが合っていない場合は, エラーになります。 実行結果は、DBTableModel にセットされます。 実行結果の件数は #getExecuteCount() で取得できます。 ※ このクラスでは実装されていません。

  定義:
    インタフェース `Query` 内の `execute`
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### execute

    public void execute(String[] args)

  引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery や { call xxxx( ?,?,? ) } などの CallableStatement の ? 部分の引数を 順番にセットしていきます。 ※ このクラスでは実装されていません。

  定義:
    インタフェース `Query` 内の `execute`
  パラメータ:
    `args` - オブジェクトの引数配列

### execute

    public void execute(String[] keys,
                        String[] args)

  引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery の ? 部分の引数を 順番にセットしていきます。 ※ このクラスでは実装されていません。

  定義:
    インタフェース `Query` 内の `execute`
  パラメータ:
    `keys` - オブジェクトのキー配列
    `args` - オブジェクトの引数配列
  変更履歴:

    4.0.0 (2005/01/31) 新規追加

### execute

    public void execute(String names,
                        String dbArrayType,
                        DBSysArg[] sysArg,
                        DBUserArg[] userArg)

  引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery の ? 部分の引数を 順番にセットしていきます。 ※ このクラスでは実装されていません。

  定義:
    インタフェース `Query` 内の `execute`
  パラメータ:
    `names` - String
    `dbArrayType` - String
    `sysArg` - DBSysArg[]
    `userArg` - DBUserArg[]
  変更履歴:

    4.0.0 (2005/01/31) 引数をすべて受け取って実行するメソッドを標準メソッドとして追加

### execute

    public void execute(int[] rowNo,
                        DBTableModel table)

  引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery の [カラム名] 部分の引数を、DBTableModelから順番にセットしていきます。 ※ このクラスでは実装されていません。

  定義:
    インタフェース `Query` 内の `execute`
  パラメータ:
    `rowNo` - 選択された行番号配列(登録する対象行)
    `table` - DBTableModel オブジェクト(登録する元データ)

### commit

    public void commit()

  コミットを行います。

  定義:
    インタフェース `Query` 内の `commit`
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。
    3.8.0.8 (2005/10/03) エラーメッセージの出力順をメッセージ＋Queryに変更します。

### rollback

    public void rollback()

  ロールバックを行います。

  定義:
    インタフェース `Query` 内の `rollback`
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。
    3.8.0.8 (2005/10/03) エラーメッセージの出力順をメッセージ＋Queryに変更します。

### close

    public void close()

  使用した Statementオブジェクトをクロースし、Connection オブジェクトを プールに返します。

  定義:
    インタフェース `Query` 内の `close`
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。
    3.6.0.4 (2004/10/14) SQLWarning の取得(getWarning)をコメントアウトします。

### realClose

    public void realClose()

  Connection オブジェクトを実際にクローズ（破棄）します。 プールからも削除します。 実行時エラー等が発生したときに、このメソッドを呼び出します。

  定義:
    インタフェース `Query` 内の `realClose`
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### setExecuteCount

    protected void setExecuteCount(int executeCount)

  クエリーの実行結果件数をセットします。 初期値は -1 です。（クエリーが失敗した場合や,CallableStatement の呼び出し等で 実行件数が明確でない場合の戻り値）。

  パラメータ:
    `executeCount` - int
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### getExecuteCount

    public int getExecuteCount()

  クエリーの実行結果を返します。 クエリーが失敗した場合や,CallableStatement の呼び出し等で実行件数が明確でない 場合は, -1 が返されます。

  定義:
    インタフェース `Query` 内の `getExecuteCount`
  戻り値:
    executeCount

### setDBTableModel

    protected void setDBTableModel(DBTableModel table)

  DBTableModel をセットします。 なお、検索系実行前に setDBTableModel() でテーブルをセットしていたとしても そのオブジェクトは破棄されて、新しい DBTableModel が生成されます。

  パラメータ:
    `table` - DBTableModel
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### getDBTableModel

    public DBTableModel getDBTableModel()

  実行結果の DBTableModel を返します。

  定義:
    インタフェース `Query` 内の `getDBTableModel`
  戻り値:
    DBTableModel

### getMaxRowCount

    public int getMaxRowCount()

  データベースの最大検索件数を返します。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。

  定義:
    インタフェース `Query` 内の `getMaxRowCount`
  戻り値:
    最大検索件数

### setMaxRowCount

    public void setMaxRowCount(int maxRowCount)

  データベースの最大検索件数をセットします。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 ゼロ、または、負の値を設定すると、無制限(Integer.MAX_VALUE)になります。

  定義:
    インタフェース `Query` 内の `setMaxRowCount`
  パラメータ:
    `maxRowCount` - int
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。
    4.0.0 (2005/08/31) ゼロ、または、負の値は、無制限(Integer.MAX_VALUE)にする。

### getSkipRowCount

    public int getSkipRowCount()

  データベースの検索スキップ件数を返します。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとしては、スキップ件数分は登録されません。 サーバーのメモリ資源と応答時間の確保の為です。

  定義:
    インタフェース `Query` 内の `getSkipRowCount`
  戻り値:
    最大検索件数

### setSkipRowCount

    public void setSkipRowCount(int skipRowCount)

  データベースの検索スキップ件数をセットします。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとしては、スキップ件数分は登録されません。 サーバーのメモリ資源と応答時間の確保の為です。

  定義:
    インタフェース `Query` 内の `setSkipRowCount`
  パラメータ:
    `skipRowCount` - int
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### setConnectionID

    public void setConnectionID(String connID)

  データベースの接続先IDをセットします。 システムパラメータ ファイルに定義してある データベース識別IDによって、 接続先を切り替えます。 この接続先IDを元に,Connection オブジェクトを作成します。

  定義:
    インタフェース `Query` 内の `setConnectionID`
  パラメータ:
    `connID` - String
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### setUpdateFlag

    protected void setUpdateFlag(boolean up)

  アップデートフラグをセットします。 これは、Query で更新処理の SQL 文を実行したときにセットされます。 更新処理が実行：true / 検索処理のみ：false をセットします。 このメソッドを呼び出さない場合は、デフォルト：true です。

  パラメータ:
    `up` - アップデートされたかどうか（ 更新処理：true / 検索処理：false ）
  変更履歴:

    2.1.2.3 (2002/12/02) データベース更新時に、更新フラグをセットするように変更
    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### isUpdate

    public boolean isUpdate()

  アップデートフラグを取得します。 これは、Query で更新処理の SQL 文を実行したときに true にセットされます。 更新処理が実行：true / 検索処理のみ：false を取得できます。

  定義:
    インタフェース `Query` 内の `isUpdate`
  戻り値:
    アップデートされたかどうか（ 更新処理：true / 検索処理：false ）
  変更履歴:

    2.1.2.3 (2002/12/02) データベース更新時に、更新フラグをセットするように変更
    4.0.0 (2007/07/20) メソッド名変更( getUpdateFlag() ⇒ isUpdate() )

### setResourceManager

    public void setResourceManager(ResourceManager resource)

  リソースマネージャーをセットします。 これは、言語（ロケール）に応じた DBColumn をあらかじめ設定しておく為に 必要です。 リソースマネージャーが設定されていない、または、所定のキーの DBColumn が リソースに存在しない場合は、内部で DBColumn オブジェクトを作成します。

  定義:
    インタフェース `Query` 内の `setResourceManager`
  パラメータ:
    `resource` - リソースマネージャー
  変更履歴:

    4.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更

### setApplicationInfo

    public void setApplicationInfo(ApplicationInfo appInfo)

  アクセスログ取得の為,ApplicationInfo オブジェクトを設定します。

  定義:
    インタフェース `Query` 内の `setApplicationInfo`
  パラメータ:
    `appInfo` - ApplicationInfo
  変更履歴:

    3.8.7.0 (2006/12/15) 新規追加

### getLang

    public String getLang()

  内部のリソースを元に言語コード を返します。 内部にリソースが登録されていない場合は, null を返します。

  戻り値:
    言語コード

### getErrorCode

    public int getErrorCode()

  エラーコード を取得します。 エラーコード は、ErrorMessage クラスで規定されているコードです。

  定義:
    インタフェース `Query` 内の `getErrorCode`
  戻り値:
    エラーコード

### setErrorCode

    protected void setErrorCode(int cd)

  エラーコード をセットします。 エラーコード は、ErrorMessage クラスで規定されているコードです。

  パラメータ:
    `cd` - エラーコード

### getErrorMessage

    public ErrorMessage getErrorMessage()

  エラーメッセージオブジェクト を取得します。

  定義:
    インタフェース `Query` 内の `getErrorMessage`
  戻り値:
    エラーメッセージオブジェクト

### setErrorMessage

    protected void setErrorMessage(ErrorMessage em)

  エラーメッセージオブジェクト をセットします。

  パラメータ:
    `em` - エラーメッセージオブジェクト

### createTableModel

    protected void createTableModel(ResultSet resultSet)

  ResultSet を DBTableModelに割り当てます。 毎回,検索毎に,DBTableModel にコピーするイメージです。 ResulSet 以外のオブジェクトから，DBTableModelを作成する場合は, このメソッドをオーバーライドします。 このメソッドは， execute からのみ,呼び出されます。 それ以外からは呼出し出来ません。

  パラメータ:
    `resultSet` - ResultSet
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。
    3.3.3.3 (2003/08/06) カラムのラベル名を、大文字に変換する。
    3.8.5.0 (2006/03/02) CLOB カラムかどうかを判定しCLOBの場合は、Clob オブジェクトから文字列を取り出します。
    3.8.8.8 (2007/05/11) ROWID対応(小数点対応 "0.3" が ".3" と表示される対策)
    4.0.0 (2006/01/31) CLOB カラムかどうかを判定しCLOBの場合は、ストリームから値を取り出します。

### getConnection

    protected Connection getConnection()

  ConnectionFactory.connection( String ); を利用して,Connection オブジェクトを取り出します。 取り出しに失敗（コネクションプールが一杯）の場合は,内部的に DB_RETRY_TIME だけ待機して, DB_RETRY_COUNT 回数だけ,試行します。 それでも取り出せない場合は, HybsSystemException を throw します。

  戻り値:
    Connection
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。
    3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfo オブジェクトを設定

### type2ClassName

    protected String type2ClassName(int type)

  カラムのタイプを表現する文字列値を返します。 この文字列を用いて、CCSファイルでタイプごとの表示方法を 指定することができます。

  パラメータ:
    `type` - int
  戻り値:
    カラムのタイプを表現する文字列値
  変更履歴:

    2.1.1.1 (2002/11/15) その他のケースを、VARCHAR2 を返すように修正。
    4.0.0 (2006/01/31) CLOB を追加

### toString

    public String toString()

  オブジェクトの識別子として，最後のクエリーを返します。

  オーバーライド:
    クラス `Object` 内の `toString`
  戻り値:
    最後のクエリー

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.1.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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