クラス Process_DBCountFilter
java.lang.Object
org.opengion.fukurou.process.AbstractProcess
org.opengion.fukurou.process.Process_DBCountFilter
- すべての実装されたインタフェース:
ChainProcess
,HybsProcess
Process_DBCountFilter は、データベースの存在件数でフィルタリングする
ChainProcess インターフェースの実装クラスです。
上流(プロセスチェインのデータは上流から下流へと渡されます。)から受け取った
LineModel を元に、データベースの存在チェックを行い、下流への処理を振り分けます。
具体的には、指定する SELECT 文は、必ず、『select count(*) from ・・・』形式にして下さい。
検索カラムは、一つだけで、そこには数字が入ります。
データベース接続先等は、ParamProcess のサブクラス(Process_DBParam)に
設定された接続(Connection)を使用します。
引数文字列中にスペースを含む場合は、ダブルコーテーション("") で括って下さい。
引数文字列の 『=』の前後には、スペースは挟めません。必ず、-key=value の様に
繋げてください。
- 形式サンプル:
- Process_DBCountFilter -dbid=DBGE -sql="select count(*) from GEA03" [ -dbid=DB接続ID ] : -dbid=DBGE (例: Process_DBParam の -configFile で指定する DBConfig.xml ファイルで規定) [ -sql=検索SQL文 ] : -sql="SELECT COUNT(*) FROM GEA03 WHERE SYSTEM_ID = [SYSTEM_ID] AND CLM = [CLM] AND FGJ = '1'" [ -sqlFile=検索SQLファイル ] : -sqlFile=select.sql : -sql や -sqlFile が指定されない場合は、エラーです。 [ -count=スルー条件 ] : -count=[0|1|2] は、検索値に応じたスルー条件。 0:0件時にスルー(処理を継続) つまり、なければ継続 1:1件時にスルー(処理を継続) つまり、あれば継続 2:2件以上ある場合にスルー つまり、キー重複時に継続 [ -display=[false/true] ] :結果を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない]) [ -debug=[false/true] ] :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない])
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.fukurou.process.AbstractProcess
BUFFER_LARGE, BUFFER_MIDDLE, CR, DB_BATCH_SIZE, TAB
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
クラスから継承されたメソッド org.opengion.fukurou.process.AbstractProcess
getArgument, logging, println, putArgument, putArgument, setLoggerProcess, throwException, throwException, toString
クラスから継承されたメソッド java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
インタフェースから継承されたメソッド org.opengion.fukurou.process.HybsProcess
logging, println, putArgument, putArgument, setLoggerProcess
-
コンストラクタの詳細
-
Process_DBCountFilter
public Process_DBCountFilter()デフォルトコンストラクター。 このクラスは、動的作成されます。デフォルトコンストラクターで、 super クラスに対して、必要な初期化を行っておきます。
-
-
メソッドの詳細
-
init
プロセスの初期化を行います。初めに一度だけ、呼び出されます。 初期処理(ファイルオープン、DBオープン等)に使用します。- 定義:
init
インタフェース内HybsProcess
- パラメータ:
paramProcess
- データベースの接続先情報などを持っているオブジェクト- 変更履歴:
- 5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応), 5.3.8.0 (2011/08/01) useParamMetaData を ConnectionFactory経由で取得。(PostgreSQL対応)
-
end
プロセスの終了を行います。最後に一度だけ、呼び出されます。 終了処理(ファイルクローズ、DBクローズ等)に使用します。- 定義:
end
インタフェース内HybsProcess
- パラメータ:
isOK
- トータルで、OKだったかどうか [true:成功/false:失敗]- 変更履歴:
- 4.0.0.0 (2007/11/27) commit,rollback,remove 処理を追加, 5.1.2.0 (2010/01/01) pMeta のクリア
-
action
引数の LineModel を処理するメソッドです。 変換処理後の LineModel を返します。 後続処理を行わない場合(データのフィルタリングを行う場合)は、 null データを返します。つまり、null データは、後続処理を行わない フラグの代わりにも使用しています。 なお、変換処理後の LineModel と、オリジナルの LineModel が、 同一か、コピー(クローン)かは、各処理メソッド内で決めています。 ドキュメントに明記されていない場合は、副作用が問題になる場合は、 各処理ごとに自分でコピー(クローン)して下さい。- 定義:
action
インタフェース内ChainProcess
- パラメータ:
data
- オリジナルのLineModel- 戻り値:
- 処理変換後のLineModel
- 変更履歴:
- 5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応), 5.3.8.0 (2011/08/01) useParamMetaData setNull 対応(PostgreSQL対応), 5.7.2.2 (2014/01/24) SQL実行エラーを少し詳細に出力します。, 6.4.2.1 (2016/02/05) try-with-resources 文で記述。
-
report
プロセスの処理結果のレポート表現を返します。 処理プログラム名、入力件数、出力件数などの情報です。 この文字列をそのまま、標準出力に出すことで、結果レポートと出来るような 形式で出してください。- 定義:
report
インタフェース内HybsProcess
- 戻り値:
- 処理結果のレポート
-
usage
このクラスの使用方法を返します。- 定義:
usage
インタフェース内HybsProcess
- 戻り値:
- このクラスの使用方法
- このメソッドは、nullを返しません
-
main
このクラスは、main メソッドから実行できません。- パラメータ:
args
- コマンド引数配列
-