ts.query
クラス QueryExecution

java.lang.Object
  上位を拡張 ts.query.QueryExecution
すべての実装されたインタフェース:
IQueryExecution
直系の既知のサブクラス:
BatchedQueryExecution

public abstract class QueryExecution
extends java.lang.Object
implements IQueryExecution

クエリ処理の中の一回の照会又は更新の実行を表すクラスの抽象クラス。
一回のクエリ処理の中で、異なる接続先に対する複数の照会や更新を実行することが できるが、このクラスはその一つ一つの照会/更新の実行に対応している。 どの照会/更新処理を実行するかは、クエリの実行設定を保持するQueryExecutionConfigオブジェクトから取得する。

バージョン:
$Id: QueryExecution.java,v 1.8 2012-03-14 07:49:20 tayu Exp $
作成者:
佐藤隆之

入れ子のクラスの概要
 
インタフェース ts.query.IQueryExecution から継承された入れ子のクラス/インタフェース
IQueryExecution.Error
 
コンストラクタの概要
QueryExecution(QueryExecutionConfig config)
          実行設定オブジェクトを引数にとるコンストラクタ。
QueryExecution(QueryExecutionConfig config, IQueryConnection conn)
          実行設定オブジェクトとIQueryConnectionオブジェクトを引数にとる コンストラクタ。
 
メソッドの概要
protected  int calcLimitFetchCount()
          取得データ件数の制限値を算出する。
protected  long calcLimitTimeMillis(long beginTimeMillis)
          終了時刻の制限値を算出する。
protected  void checkFetchCount(QueryExecutionContent content, int count)
          取得データ件数オーバーの判定を行う。
protected  void checkTimeout(QueryExecutionContent content)
          タイムアウトの判定を行う。
protected  QueryExecutionContent createContent()
          実行内容オブジェクトを作成する。
protected  void disposeContent(QueryExecutionContent content, QueryResult result)
          実行内容オブジェクトの後始末をする。
 IQueryResult execute(java.util.Map<java.lang.String,java.lang.Object> inputMap)
          このオブジェクトが表す照会又は更新処理を実行する。
 void execute(java.util.Map<java.lang.String,java.lang.Object> inputMap, IQueryResult result)
          このオブジェクトが表す照会又は更新処理を実行する。
protected abstract  void executeContent(QueryExecutionContent content)
          実行内容オブジェクトの内容を実行する。
protected  QueryExecutionConfig getConfig()
          実行設定オブジェクトを取得する。
 java.lang.String getExecutionId()
          実行IDを取得する。
protected
<T extends IQueryConnection>
T
getQueryConnection()
          IQueryConnectionオブジェクトを取得する。
protected  ts.util.table.Table<java.lang.String,java.io.Serializable> newResultTable(QueryExecutionContent content)
          結果データを格納するテーブルを作成する。
protected abstract  void prepareContent(QueryExecutionContent content, java.util.Map<java.lang.String,java.lang.Object> inputMap)
          実行内容オブジェクトの準備処理を実行する。
protected  void prepareResultTable(QueryExecutionContent content)
          実行内容オブジェクトに結果データ・テーブルを設定する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

QueryExecution

public QueryExecution(QueryExecutionConfig config)
               throws ts.util.ReasonedException,
                      ts.util.ReasonedRuntimeException
実行設定オブジェクトを引数にとるコンストラクタ。
このオブジェクトの中で使用されるIQueryConnectionオブジェクトは、 実行設定オブジェクトが保持する接続元IDを使って作成される。

パラメータ:
config - QueryExecutionConfigオブジェクト。
例外:
ts.util.ReasonedException - このオブジェクトで使用するIQueryConnectionオブジェクトの作成に失敗した場合。
ts.util.ReasonedRuntimeException - このオブジェクトが使用する接続設定が不正 だった場合。
java.lang.AssertionError - 引数がヌルの場合。

QueryExecution

public QueryExecution(QueryExecutionConfig config,
                      IQueryConnection conn)
実行設定オブジェクトとIQueryConnectionオブジェクトを引数にとる コンストラクタ。

パラメータ:
config - QueryExecutionConfigオブジェクト。
conn - IQueryConnectionオブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合。
メソッドの詳細

getConfig

protected QueryExecutionConfig getConfig()
実行設定オブジェクトを取得する。

戻り値:
実行設定オブジェクト。

getQueryConnection

protected <T extends IQueryConnection> T getQueryConnection()
IQueryConnectionオブジェクトを取得する。

戻り値:
IQueryConnectionオブジェクト。

getExecutionId

public java.lang.String getExecutionId()
実行IDを取得する。

定義:
インタフェース IQueryExecution 内の getExecutionId
戻り値:
実行ID。

execute

public IQueryResult execute(java.util.Map<java.lang.String,java.lang.Object> inputMap)
                     throws ts.util.ReasonedException,
                            ts.util.ReasonedRuntimeException
このオブジェクトが表す照会又は更新処理を実行する。
実行結果は、QueryResultオブジェクトに格納して返す。

定義:
インタフェース IQueryExecution 内の execute
パラメータ:
inputMap - 入力パラメータ・マップ。
戻り値:
クエリの実行結果を格納したQueryResultオブジェクト。
例外:
ts.util.ReasonedException - このオブジェクトが表す処理の実行に失敗した場合。
ts.util.ReasonedRuntimeException - 実行設定等が不正だった場合。

execute

public void execute(java.util.Map<java.lang.String,java.lang.Object> inputMap,
                    IQueryResult result)
             throws ts.util.ReasonedException,
                    ts.util.ReasonedRuntimeException
このオブジェクトが表す照会又は更新処理を実行する。
実行結果は、QueryResultオブジェクトに格納される。

定義:
インタフェース IQueryExecution 内の execute
パラメータ:
inputMap - 入力パラメータ・マップ。
result - クエリの実行結果を格納したQueryResultオブジェクト。
例外:
ts.util.ReasonedException - このオブジェクトが表す処理の実行に失敗した場合。
ts.util.ReasonedRuntimeException - 実行設定等が不正だった場合。

calcLimitTimeMillis

protected long calcLimitTimeMillis(long beginTimeMillis)
終了時刻の制限値を算出する。

パラメータ:
beginTimeMillis - 開始時刻 [msec]。
戻り値:
終了時刻の制限値 [msec]。

calcLimitFetchCount

protected int calcLimitFetchCount()
取得データ件数の制限値を算出する。

戻り値:
取得データ件数の制限値。

checkTimeout

protected void checkTimeout(QueryExecutionContent content)
                     throws ts.util.ReasonedException
タイムアウトの判定を行う。

パラメータ:
content - 実行内容オブジェクト。
例外:
ts.util.ReasonedException - タイムアウトの場合。

checkFetchCount

protected void checkFetchCount(QueryExecutionContent content,
                               int count)
                        throws ts.util.ReasonedException
取得データ件数オーバーの判定を行う。
実行内容オブジェクトが保持する取得データ件数が制限件数をオーバーしていない 場合はそのままリターンする。 制限件数がゼロ以下の場合や、実行内容が結果データ・テーブルを持たない場合も そのままリターンする。
取得データ件数が制限件数をオーバーした場合は例外をスローする。

パラメータ:
content - 実行内容オブジェクト。
count - 実際の取得データ件数。
例外:
ts.util.ReasonedException - 取得件数オーバーの場合。

createContent

protected QueryExecutionContent createContent()
実行内容オブジェクトを作成する。

戻り値:
実行内容オブジェクト。

prepareResultTable

protected void prepareResultTable(QueryExecutionContent content)
実行内容オブジェクトに結果データ・テーブルを設定する。
実行内容オブジェクトの内容が更新処理のみの場合はヌルを設定する。 また、引数の実行結果オブジェクトに同じ実行IDの結果データ・テーブルが登録 されている場合はそれを設定する。 それ以外の場合は、結果データ・テーブルを新規に作成して設定する。

パラメータ:
content - 実行内容オブジェクト。

newResultTable

protected ts.util.table.Table<java.lang.String,java.io.Serializable> newResultTable(QueryExecutionContent content)
結果データを格納するテーブルを作成する。

戻り値:
結果テーブル。

prepareContent

protected abstract void prepareContent(QueryExecutionContent content,
                                       java.util.Map<java.lang.String,java.lang.Object> inputMap)
                                throws ts.util.ReasonedException,
                                       ts.util.ReasonedRuntimeException
実行内容オブジェクトの準備処理を実行する。
このオブジェクトが保持する実行設定と引数の入力パラメータ、実行結果オブジェ クトを使って実行内容を構築する。
但し、実行結果テーブルの準備処理はこのメソッドの実行直後に呼ばれるprepareResultTable(QueryExecutionContent)メソッドによって行われるので、 このメソッドで実行結果テーブルの設定を行う必要はない。

パラメータ:
content - 実行内容オブジェクト。
inputMap - 入力パラメータ・マップ。
例外:
ts.util.ReasonedException - 準備処理に失敗した場合。
ts.util.ReasonedRuntimeException - 実行設定等が不正だった場合。

executeContent

protected abstract void executeContent(QueryExecutionContent content)
                                throws ts.util.ReasonedException,
                                       ts.util.ReasonedRuntimeException
実行内容オブジェクトの内容を実行する。

パラメータ:
content - 実行内容オブジェクト。
例外:
ts.util.ReasonedException - 実行内容オブジェクトの内容の実行に失敗した場合。
ts.util.ReasonedRuntimeException - 実行設定等が不正だった場合。

disposeContent

protected void disposeContent(QueryExecutionContent content,
                              QueryResult result)
実行内容オブジェクトの後始末をする。
このメソッドは、executeContent(QueryExecutionContent)メソッドが 実行された後に呼び出される。 executeContent(QueryExecutionContent)メソッドの実行途中で例外が 発生した場合も、このメソッドは呼ばれる。
結果データ・テーブルなど実行内容オブジェクトが保持する結果情報を、実行結果 オブジェクトに移すなどの処理を行うために用意されている。

パラメータ:
content - 実行内容オブジェクト。
result - 実行結果オブジェクト。


Copyright (C) SATOH Takayuki All Rights Reserved.