public class Process_FileSearch extends AbstractProcess implements FirstProcess, ChainProcess
Process_FileSearch は、指定のフォルダ以下のファイルを一覧する、FirstProcess
インターフェースと、ChainProcess インターフェースの実装クラスです。
Fileリストは、FileLineModel オブジェクトを使用します。
ファイル属性(Level,File,Length,Modify,LineCnt,Biko,MD5) と、
オプションで、FILEPATH,ADDRESS,FILENAME 属性を文字列で準備できます。
指定の条件に合致するファイルを検索し、LineModel のサブクラスである、
FileLineModel オブジェクトを作成して、下流に渡します。
FileLineModel オブジェクトには、ファイル属性(Level,File,Length,Modify)
が設定されます。
引数文字列中にスペースを含む場合は、ダブルコーテーション("") で括って下さい。
引数文字列の 『=』の前後には、スペースは挟めません。必ず、-key=value の様に
繋げてください。
※ 6.3.1.1 (2015/07/10)
ignoreCase の導入と同時に、初期値を、Grep , GrepChange , GrepChangeExcel と『異なる』
true:区別しない にしました。
これは、混乱する可能性が高いのですが、ファイル関連の検索において、通常は、大文字小文字の
区別なしで検索するのが、多く、Grep の区別するケースとは異なると判断しました。
実際は、ignoreCase 属性を毎回記述したくないというのが、本当の所です。
※ 6.4.0.2 (2015/12/11)
prefix,suffix,instr,equals に、("|"で複数指定可) の説明をJavaDocに追加。
useDIR 属性に、onlyパラメータを追加[false:File/true:File+Dir/only:Dir]。 Process_FileSearch -start=d:/ -suffix=jsp
-start=開始フォルダ :検索を開始するフォルダ
[ -ignoreCase=[true/false] ] :検索時に大文字小文字を区別しないかどうか(初期値:区別しない[true])
[ -preDir=接頭辞フォルダ ] :File・・・・,View・・・・,など、指定の接頭辞で始まるフォルダを検索("|"で複数指定可) // 6.4.3.2 (2016/02/19)
[ -prefix=接頭辞 ] :File・・・・,View・・・・,など、指定の接頭辞で始まるファイルを検索("|"で複数指定可)
[ -unprefix=不接頭辞 ] :File・・・・,View・・・・,など、指定の接頭辞で始まらないファイルを検索("|"で複数指定可)
[ -suffix=接尾辞 ] :.txt|.java|.jsp.... など、指定の接尾辞で終わるファイルを検索("|"で複数指定可)
[ -unsuffix=不接尾辞 ] :.txt|.java|.jsp.... など、指定の接尾辞で終わらないファイルを検索("|"で複数指定可)
[ -instr=部分文字列 ] :ファイル名と一致する部分文字列を指定("|"で複数指定可)
[ -uninstr=不部分文字列 ] :ファイル名と一致しな部分文字列を指定("|"で複数指定可)
[ -equals=一致 ] :ファイル名と一致する文字列を指定("|"で複数指定可)
[ -notequals=不一致 ] :ファイル名と一致しない文字列を指定("|"で複数指定可)
[ -match=正規表現 ] :ファイル名と一致する正規表現を指定
[ -unmatch=正規表現 ] :ファイル名と一致しない正規表現を指定
[ -modify=YYYYMMDD ] :指定日付け以降に変更されたファイルを検索
YYYYMMDD : YYYYMMDD 形式での指定日の 00:00:00 を基準時刻
TODAY : 実行日の 00:00:00 を基準時刻
YESTERDAY : 実行日前日の 00:00:00 を基準時刻
LAST_WEEK : 実行日の先週(7日前) 00:00:00 を基準時刻
MONTH : 実行月の 1日 00:00:00 を基準時刻
LAST_MONTH : 実行前月の 同日 00:00:00 を基準時刻
LAST_YEAR : 実行前年の 同月同日 00:00:00 を基準時刻
[ -useDIR=[false/true/only] ] :判定をファイルだけでなく、ディレクトリでも行うかどうかを指定[false:File/true:File+Dir/only:Dir](初期値:false)
[ -larger=サイズ(Byte) ] :ファイルの大きさが指定のバイト数と同じか大きいファイルを検索
[ -smaller=サイズ(Byte) ] :ファイルの大きさが指定のバイト数より小さいファイルを検索
[ -isHidden=[true/false] ] :true:HIDDENファイルのみ検索/false:NORMALファイルのみ検索(初期値:null)
[ -maxLevel=最大階層数 ] :ディレクトリの階層を下がる最大数(初期値:256)
[ -useLineCnt=行数計算 ] :ファイルの行数をカウントするかどうかを指定(初期値:false)
[ -useMD5=MD5計算値 ] :ファイルのMD5計算を行うかどうかを指定(初期値:false)
[ -useOmitCmnt=[false/true] ] :コメント部分を削除した行数と文字数計算を行うかどうかを指定(初期値:false)
[ -useFilePath=[false/true] ] :FILEPATH,ADDRESS,FILENAME 属性を文字列で準備します(初期値:false)
[ -modifyForm=日付フォーマット ] :MODIFY 属性のDate型から文字列に変換するフォーマットを指定します(初期値:null)
[ -encode=エンコード名 ] :コメント削除時の文字数計算で利用するファイルのエンコード(初期値:JISAutoDetect)
[ -inPath=入力共通パス ] :BIKO作成用のファイルパスから削除する部分(文字数のみ)
[ -outPath=出力追加パス ] :BIKO作成用のファイルパスに追加する部分
[ -errAbend=[true/false] ] :異常発生時に、処理を中断(true)するか、継続(false)するかを指定する(初期値:true[中断する])
[ -display=[false/true] ] :trueは、検索状況を表示します(初期値:false)
[ -debug=[false/true] ] :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない])BUFFER_LARGE, BUFFER_MIDDLE, CR, TAB| コンストラクタと説明 |
|---|
Process_FileSearch()
デフォルトコンストラクター。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
LineModel |
action(LineModel data)
引数の LineModel を処理するメソッドです。
|
void |
end(boolean isOK)
プロセスの終了を行います。
|
void |
init(ParamProcess paramProcess)
プロセスの初期化を行います。
|
static void |
main(java.lang.String[] args)
このクラスは、main メソッドから実行できません。
|
LineModel |
makeLineModel(int rowNo)
最初に、 行データである LineModel を作成します
FirstProcess は、次々と処理をチェインしていく最初の行データを
作成して、後続の ChainProcess クラスに処理データを渡します。
|
boolean |
next()
このデータの処理において、次の処理が出来るかどうかを問い合わせます。
|
java.lang.String |
report()
プロセスの処理結果のレポート表現を返します。
|
java.lang.String |
usage()
このクラスの使用方法を返します。
|
getArgument, logging, println, putArgument, putArgument, setLoggerProcess, throwException, throwException, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitlogging, println, putArgument, putArgument, setLoggerProcesspublic Process_FileSearch()
public void init(ParamProcess paramProcess)
init インタフェース内 HybsProcessparamProcess - データベースの接続先情報などを持っているオブジェクト| 4.2.2.0 (2008/05/10) 行数カウントの使用有無 |
| 4.3.1.1 (2008/08/23) BIKO 欄にoutPath 属性を追加します。 |
| 5.1.2.0 (2010/01/01) useDIR 属性を追加します。 |
| 5.7.2.1 (2014/01/17) useMD5 属性を追加します。 |
| 5.7.4.0 (2014/03/07) useOmitCmnt,encode 属性を追加します。 |
| 5.7.4.3 (2014/03/28) larger,smaller属性を文字列に変更 |
| 5.7.5.0 (2014/04/04) isHidden属性を追加します。 |
| 6.3.1.0 (2015/06/28) errAbend属性追加。 |
| 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加 |
| 6.3.1.1 (2015/07/10) メソッドチェーン化と、大文字/小文字の区別なし(ignoreCase=true)対応 |
| 6.3.1.1 (2015/07/10) Modify のフォーマットを、指定可能にします。 |
| 6.4.0.2 (2015/12/11) useDIR 属性に、onlyパラメータを追加します[false:File/true:File+Dir/only:Dir]。 |
public boolean next()
next インタフェース内 FirstProcess| 5.3.8.0 (2011/08/01) 処理中の状態を表示するための println を追加 |
public LineModel makeLineModel(int rowNo)
makeLineModel インタフェース内 FirstProcessrowNo - 処理中の行番号| 4.2.3.0 (2008/05/26) BIKO 欄に展開ファイル名を記述します。 |
| 4.3.1.1 (2008/08/23) BIKO 欄にoutPath 属性を追加します。 |
| 6.3.1.0 (2015/06/28) errAbend属性追加。 |
| 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs) |
public LineModel action(LineModel data)
action インタフェース内 ChainProcessdata - オリジナルのLineModelpublic void end(boolean isOK)
end インタフェース内 HybsProcessisOK - トータルで、OKだったかどうか[true:成功/false:失敗]public java.lang.String report()
report インタフェース内 HybsProcesspublic java.lang.String usage()
usage インタフェース内 HybsProcesspublic static void main(java.lang.String[] args)
args - コマンド引数配列Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.