ts.query
クラス ControllableQuery

java.lang.Object
  上位を拡張 ts.query.Query
      上位を拡張 ts.query.ControllableQuery
すべての実装されたインタフェース:
IQuery

public class ControllableQuery
extends Query

入力パラメータや結果データによって、処理される実行IDの制御を行うクエリ・ クラス。
クエリ設定オブジェクト内のts-query.query.execution.control要素以下 の要素ツリーを解釈して実行IDの求め、それに対応するIQueryExecution オブジェクトを実行する。

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

入れ子のクラスの概要
static class ControllableQuery.Error
          このクラスで発生しうるエラーを定義する列挙型。
 
コンストラクタの概要
protected ControllableQuery(QueryConfig config)
          クエリ設定オブジェクトを引数にとるコンストラクタ。
protected ControllableQuery(QueryConfig config, IQueryTransaction tran)
          クエリ設定オブジェクトとクエリ・トランザクション・オブジェクトを引数にとる コンストラクタ。
 
メソッドの概要
protected  boolean checkContainsCondition(java.lang.String value, java.lang.String condition, java.lang.String delimiter)
          パラメータの値が条件に含まれるかどうかをチェックする。
protected  boolean checkEqualsCondition(java.lang.String value, java.lang.String condition)
          パラメータの値が条件と等しいかどうかをチェックする。
protected  boolean checkExistsCondition(java.lang.String value, java.lang.String condition)
          パラメータの存在チェックを行う。
protected  boolean checkNotContainCondition(java.lang.String value, java.lang.String condition, java.lang.String delimiter)
          パラメータの値が条件に含まれないかどうかをチェックする。
protected  boolean checkNotEqualCondition(java.lang.String value, java.lang.String condition)
          パラメータの値が条件と等しくないかどうかをチェックする。
protected  void controlExecution(ts.util.resource.Resource res, java.util.Map<java.lang.String,java.lang.Object> inputMap, QueryResult result)
          IQueryExecutionの実行を制御する。
protected  void executeQuery(java.util.Map<java.lang.String,java.lang.Object> inputMap, QueryResult result)
          クエリを実行する。
protected  ts.util.resource.Resource getControlResource()
          処理する実行IDを制御するためのリソース要素ツリーを取得する。
protected  java.lang.String getParamValue(java.lang.String param, java.lang.String from, java.util.Map<java.lang.String,java.lang.Object> inputMap, QueryResult result)
          入力パラメータ又は結果データ・テーブルから指定された名前のパラメータ値を 取得する。
protected  ts.util.resource.Resource loadControlResource()
          処理される実行IDを制御するためのリソースをファイルからロードする。
 
クラス ts.query.Query から継承されたメソッド
controlTransaction, createDefaultTransaction, execute, getConfig, getQueryHistory, getTransaction, isNeededToControlTransaction
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ControllableQuery

protected ControllableQuery(QueryConfig config)
                     throws ts.util.ReasonedRuntimeException
クエリ設定オブジェクトを引数にとるコンストラクタ。

パラメータ:
config - クエリ設定オブジェクト。
例外:
ts.util.ReasonedRuntimeException - 制御リソース・ファイルの読込に失敗した 場合。
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

ControllableQuery

protected ControllableQuery(QueryConfig config,
                            IQueryTransaction tran)
                     throws ts.util.ReasonedRuntimeException
クエリ設定オブジェクトとクエリ・トランザクション・オブジェクトを引数にとる コンストラクタ。

パラメータ:
config - クエリ設定オブジェクト。
tran - クエリ・トランザクション・オブジェクト。
例外:
ts.util.ReasonedRuntimeException - 制御リソース・ファイルの読込に失敗した 場合。
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。
メソッドの詳細

loadControlResource

protected ts.util.resource.Resource loadControlResource()
処理される実行IDを制御するためのリソースをファイルからロードする。
クエリ設定の中に ts-query.query.execution.control.xmlfileキーに 対する値が存在する場合はその値が示すパスのファイルから、存在しない場合は クエリ設定の中からリソースを取得する。
なお、クエリ設定のts-query.query.execution.control.xmlfileキーが 示すパスは、環境設定のts-query.environment.query.config.directory キーが示すパスからの相対パスである。

戻り値:
処理される実行IDを制御するためのリソース・オブジェクト。

getControlResource

protected ts.util.resource.Resource getControlResource()
処理する実行IDを制御するためのリソース要素ツリーを取得する。

戻り値:
処理する実行IDを制御するためのリソース要素ツリー。

executeQuery

protected void executeQuery(java.util.Map<java.lang.String,java.lang.Object> inputMap,
                            QueryResult result)
                     throws ts.util.ReasonedException,
                            ts.util.ReasonedRuntimeException
クエリを実行する。
このオブジェクトが保持するクエリ設定で指定されている実行IDに対応するIQueryExecutionオブジェクト(複数可)を処理する。

オーバーライド:
クラス Query 内の executeQuery
パラメータ:
inputMap - 入力パラメータ・マップ。
result - クエリ結果オブジェクト。
例外:
ts.util.ReasonedException - IQueryExecutionオブジェクトの処理に失敗 した場合。
ts.util.ReasonedRuntimeException - クエリ設定や実行設定が不正だった場合。

controlExecution

protected void controlExecution(ts.util.resource.Resource res,
                                java.util.Map<java.lang.String,java.lang.Object> inputMap,
                                QueryResult result)
                         throws ts.util.ReasonedException,
                                ts.util.ReasonedRuntimeException
IQueryExecutionの実行を制御する。

パラメータ:
res - 制御リソース。
inputMap - 入力パラメータ。
result - クエリ結果オブジェクト。
例外:
ts.util.ReasonedException - IQueryExecutionオブジェクトの処理に失敗 した場合。
ts.util.ReasonedRuntimeException - クエリ制御や実行設定が不正だった場合。

getParamValue

protected java.lang.String getParamValue(java.lang.String param,
                                         java.lang.String from,
                                         java.util.Map<java.lang.String,java.lang.Object> inputMap,
                                         QueryResult result)
入力パラメータ又は結果データ・テーブルから指定された名前のパラメータ値を 取得する。
引数fromが空文字列の場合は入力パラメータから、空文字列でない場合 は結果データ・テーブルからパラメータ値を取得する。
なお、パラメータが入力パラメータ・マップ又は結果データ・テーブルに複数値 (コレクション型または配列型)で登録されていた場合は最初の要素の値を返す。

パラメータ:
param - パラメータ名。
from - 結果データ・テーブルを識別する結果ID。
inputMap - 入力パラメータ・マップ。
result - クエリ結果オブジェクト。

checkExistsCondition

protected boolean checkExistsCondition(java.lang.String value,
                                       java.lang.String condition)
                                throws ts.util.ReasonedRuntimeException
パラメータの存在チェックを行う。
引数のconditionの値が空文字列の場合は存在チェックを行わず、 trueを返す。 引数のconditionの値が"true"の場合は、引数value の値が非ヌルの場合はtrue(存在する)、ヌルの場合はfalse (存在しない)を返す。 引数のconditionの値が"false"の場合は、引数value の値が非ヌルの場合はfalse(存在する)、ヌルの場合はtrue (存在しない)を返す。 引数のconditionの値が上記のいずれでもない場合は例外をスローする。

パラメータ:
value - パラメータ値。
condition - パラメータの存在条件。
戻り値:
パラメータの存在条件を満たす場合はtrueを返す。
例外:
ts.util.ReasonedRuntimeException - パラメータの存在条件の値が不正な場合。

checkEqualsCondition

protected boolean checkEqualsCondition(java.lang.String value,
                                       java.lang.String condition)
パラメータの値が条件と等しいかどうかをチェックする。
引数valueの値が、引数conditionの値と等しいかどうかを 判定し、等しい場合はtrueを、等しくない場合はfalseを 返す。

パラメータ:
value - パラメータ値。
condition - 条件値。
戻り値:
等しい場合はtrueを返す。

checkNotEqualCondition

protected boolean checkNotEqualCondition(java.lang.String value,
                                         java.lang.String condition)
パラメータの値が条件と等しくないかどうかをチェックする。
引数valueの値が、引数conditionの値と等しくないか どうかを判定し、等しい場合はfalseを、等しくない場合は trueを返す。

パラメータ:
value - パラメータ値。
condition - 条件値。
戻り値:
等しくない場合はtrueを返す。

checkContainsCondition

protected boolean checkContainsCondition(java.lang.String value,
                                         java.lang.String condition,
                                         java.lang.String delimiter)
パラメータの値が条件に含まれるかどうかをチェックする。
引数conditionを引数delimiterで分割し、その配列に 引数valueの値が含まれる場合はtrueを、含まれない場合は falseを返す。

パラメータ:
value - パラメータ値。
condition - 条件値の連結文字列。
delimiter - 条件値の区切り文字列。
戻り値:
条件値に含まれる場合はtrueを返す。

checkNotContainCondition

protected boolean checkNotContainCondition(java.lang.String value,
                                           java.lang.String condition,
                                           java.lang.String delimiter)
パラメータの値が条件に含まれないかどうかをチェックする。
引数conditionを引数delimiterで分割し、その配列に 引数valueの値が含まれない場合はtrueを、含まれる場合は falseを返す。

パラメータ:
value - パラメータ値。
condition - 条件値の連結文字列。
delimiter - 条件値の区切り文字列。
戻り値:
条件値に含まれない場合はtrueを返す。


Copyright (C) SATOH Takayuki All Rights Reserved.