openGionopenGion
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() メソッドだけです。

機能階層
DB検索, DB登録
バージョン
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
戻り値:
最後のクエリー

openGion 5.1.6.0

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