# パッケージ org.opengion.fukurou.process

package org.opengion.fukurou.process

このドキュメントは、バッチフレームワーク『ふくろう』の ＡＰＩ 仕様です。

     ２．基本設計
       （２）機能概要説明
         ３．バッチ処理フレームワーク
           【概要】
               大量データの登録や抜き出しなど、バッチ的な処理を行うフレームワークを作成します。
               このフレームワークに、基本機能の実装と、各種システム固有機能の実装が簡単に
               行えるように、プラグイン方式を採用します。
               なお、このフレームワーク単独での採用は検討していません。エンジンとしては、
               一体として扱います。

           【効果】
               簡易的なバッチ（あるDBから抜き出して、別のDBに登録するなど）や、ファイルからの
               入出力などが、簡単に作成できるようになります。
               将来的には、統合サーバー機能を充実させることで、PL/SQLの代わりにJavaで
               業務アプリケーションを作成していく事が可能になります。

           【機能】
               １．バッチ共通のMainProcess で、各Process クラス を数珠繋ぎに処理していきます。
               ２．処理の開始は、FirstProcess クラスより始めて、順次、ChainProcess実装クラスで
                   処理を継続します。
               ３．FirstProcess クラス の next() で、次の行が存在するかどうかを判断します。
                   以降の ChainProcess では、LineModel が null かどうか判断して、継続処理を行うか
                   どうかを決定します。
               ４．MainProcess の拡張機能(ログ方式など）をサブクラスで与えます。

        org.opengion.fukurou.process (classes)
           → org.opengion.fukurou.db                            classes
           → org.opengion.fukurou.mail                          classes
           → org.opengion.fukurou.model                         classes
           → org.opengion.fukurou.security                      classes
           → org.opengion.fukurou.system                        classes
           → org.opengion.fukurou.util                          classes
           → org.opengion.fukurou.xml                           classes

- Related Packages
  パッケージ
  説明
  org.opengion.fukurou
  このドキュメントは、夜間バッチ『ふくろう』の ＡＰＩ 仕様です。
- クラス
  説明
  AbstractProcess
  AbstractProcess は、ChainProcess インターフェースを実装した、Abstract クラスです。
  ChainProcess
  ChainProcess は、バッチ処理サブクラスの共通インターフェースです。
  FileLineModel
  FileLineModel は、LineModel を継承した ﾌｧｲﾙﾘｽﾄ専用の LineModel の実装ｸﾗｽです。
  FilterOperation
  フィルター条件のオペレーションの列挙型です。
  FirstProcess
  FirstProcess は、バッチ処理サブクラスの共通インターフェースです。
  HybsProcess
  HybsProcess は、バッチ処理サブクラスの共通インターフェースです。
  LineModel
  LineModel は、データの１行分を管理する為の TableModel と類似の実装クラスです。
  LineModelFilter
  LineModelFilter は、フィルター条件をチェックして、LineModel のフィルタリング を判定する実装クラスです。
  LoggerProcess
  LoggerProcess インターフェース は、AbstractProcess を実行する上で必要となる 各種パラメータを設定します。
  MainProcess
  MainProcess は、HybsProcess を継承した、ParamProcess,FirstProcess,ChainProcess の実装クラスを実行するメインメソッドを持つクラスです。
  ParamProcess
  ParamProcess インターフェース は、AbstractProcess を実行する上で必要となる 各種パラメータを設定します。
  Process_BulkQuery
  Process_BulkQueryは、データベースから読み取った内容を、一括処理する、 FirstProcess と、ChainProcess のインターフェースを両方持った、実装クラスです。
  Process_DBCountFilter
  Process_DBCountFilter は、データベースの存在件数でフィルタリングする ChainProcess インターフェースの実装クラスです。
  Process_DBFileout
  Process_DBFileout は、SELECT文 を指定し データベースの値を抜き出して、 個々のファイルにセーブする、ChainProcess インターフェースの実装クラスです。
  Process_DBMerge
  Process_DBMerge は、UPDATE と INSERT を指定し データベースを追加更新 する、ChainProcess インターフェースの実装クラスです。
  Process_DBParam
  Process_DBParam は、他のプロセスへ共通のデータベース接続を割り当てる為の、 ParamProcess インターフェースの実装クラスです。
  Process_DBReader
  Process_DBReaderは、データベースから読み取った内容を、LineModel に設定後、 下流に渡す、FirstProcess インターフェースの実装クラスです。
  Process_DBWriter
  Process_DBWriter は、上流から受け取ったデータをデータベースに書き込む CainProcess インターフェースの実装クラスです。
  Process_FileCopy
  Process_FileCopy は、上流から受け取った FileLineModel を処理する、 ChainProcess インターフェースの実装クラスです。
  Process_FileSearch
  Process_FileSearch は、指定のフォルダ以下のファイルを一覧する、FirstProcess インターフェースと、ChainProcess インターフェースの実装クラスです。
  Process_Grep
  Process_Grep は、上流から受け取った FileLineModelから、文字列を見つけ出す ChainProcess ｲﾝﾀｰﾌｪｰｽの実装ｸﾗｽです。
  Process_GrepChange
  Process_GrepChange は、上流から受け取った FileLineModelから、語句を 置換する、ChainProcess インターフェースの実装クラスです。
  Process_GrepChangeExcel
  Process_GrepChangeExcel は、上流から受け取った FileLineModelから、語句を 置換する、ChainProcess インターフェースの実装クラスです。
  Process_Logger
  Process_Logger は、画面出力、ファイルログ、エラーメールを管理する、 ロギング関係の LoggerProcess インターフェースの実装クラスです。
  Process_StringUtil
  Process_StringUtil は、上流から受け取ったデータをStringUtilクラスの特定の メソッドでデータ変換する、CainProcess インターフェースの実装クラスです。
  Process_TableDiff
  Process_TableDiffは、ファイルから読み取った内容を、LineModel に設定後、 下流に渡す、FirstProcess インターフェースの実装クラスです。
  Process_TableFilter
  Process_TableFilter は、上流から受け取ったデータをフィルタする、 ChainProcess インターフェースの実装クラスです。
  Process_TableReader
  Process_TableReaderは、ファイルから読み取った内容を、LineModel に設定後、 下流に渡す、FirstProcess インターフェースの実装クラスです。
  Process_TableWriter
  Process_TableWriter は、上流から受け取ったデータをファイルに書き込む CainProcess インターフェースの実装クラスです。
  Process_XSLT
  XSLT変換結果を指定のファイルに出力します。