ts.util.file
クラス FileNewerThanTargetFilter

java.lang.Object
  上位を拡張 ts.util.file.FileNewerThanTargetFilter
すべての実装されたインタフェース:
java.io.FileFilter

public class FileNewerThanTargetFilter
extends java.lang.Object
implements java.io.FileFilter

ターゲットのファイルよりも最終更新日が新しいことを条件とする ファイル・フィルタ・クラス。
ターゲットのファイルは、accept(File)メソッドで指定 されたファイルのパスを、このオブジェクトに設定された変換方法によって変換 されたパスによって特定される。
ファイル・パスの変換は、このオブジェクトに追加した順番に従って、変換方法が 適用される。
ターゲットのファイルと、引数のファイルの間で最終更新日の比較を行い、 引数のファイルの方が新しい場合に真とする。
ターゲットのファイルが存在しない場合は真を返す。

バージョン:
$Revision: 1.2 $, $Date: 2007/05/27 16:13:09 $
作成者:
佐藤隆之.

コンストラクタの概要
FileNewerThanTargetFilter(java.io.File baseDir, java.io.File destDir)
          ターゲット・ファイルのパスを求めるために使用される変換元と変換先の 基底ディレクトリを引数にとるコンストラクタ。
 
メソッドの概要
 boolean accept(java.io.File file)
          指定されたファイルの最終更新日が、ターゲット・ファイルの最終更新日よりも 新しいかどうかを判定する。
 void addDirReplaceAll(java.lang.String regex, java.lang.String replacement)
          ディレクトリ・パスの変換に使用される正規表現と置換文字列を追加する。
 void addDirReplaceFirst(java.lang.String regex, java.lang.String replacement)
          ディレクトリ・パスの変換に使用される正規表現と置換文字列を追加する。
 void addNameReplaceAll(java.lang.String regex, java.lang.String replacement)
          ファイル名の変換に使用される正規表現と置換文字列を追加する。
 void addNameReplaceFirst(java.lang.String regex, java.lang.String replacement)
          ファイル名の変換に使用される正規表現と置換文字列を追加する。
protected  Duo<java.lang.String,java.lang.String> getRelativePaths(java.io.File file, java.io.File baseFile)
          指定されたファイルの、基底ファイルからの相対パスを取得し、それを 親ディレクトリ・パスとファイル名に分けて取得する。
protected  java.io.File getTargetFile(java.io.File file)
          ターゲット・ファイルを求める。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FileNewerThanTargetFilter

public FileNewerThanTargetFilter(java.io.File baseDir,
                                 java.io.File destDir)
ターゲット・ファイルのパスを求めるために使用される変換元と変換先の 基底ディレクトリを引数にとるコンストラクタ。
変換元とは、accept(File)メソッドで指定されるファイル のことであり、変換先とはターゲット・ファイルのことである。
変換元の基底ディレクトリが存在しない場合は、accept(File)メソッド実行結果が偽となる。

パラメータ:
baseDir - 変換元の基底ディレクトリ。
destDir - 変換元の基底ディレクトリ。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。
メソッドの詳細

addNameReplaceFirst

public void addNameReplaceFirst(java.lang.String regex,
                                java.lang.String replacement)
ファイル名の変換に使用される正規表現と置換文字列を追加する。
正規表現に合致した文字列の変換は、最初に合致したものだけが変換される。

パラメータ:
regex - 正規表現。
replacement - 置換文字列。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

addNameReplaceAll

public void addNameReplaceAll(java.lang.String regex,
                              java.lang.String replacement)
ファイル名の変換に使用される正規表現と置換文字列を追加する。
第3引数に正規表現に合致した全ての文字列を変換する。

パラメータ:
regex - 正規表現。
replacement - 置換文字列。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

addDirReplaceFirst

public void addDirReplaceFirst(java.lang.String regex,
                               java.lang.String replacement)
ディレクトリ・パスの変換に使用される正規表現と置換文字列を追加する。
正規表現に合致した文字列の変換は、最初に合致したものだけが変換される。
変換されるパスは、変換先の基底ディレクトリのパスから下の部分のみである。

パラメータ:
regex - 正規表現。
replacement - 置換文字列。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

addDirReplaceAll

public void addDirReplaceAll(java.lang.String regex,
                             java.lang.String replacement)
ディレクトリ・パスの変換に使用される正規表現と置換文字列を追加する。
正規表現に合致した全ての文字列を変換する。
変換されるパスは、変換先の基底ディレクトリのパスから下の部分のみである。

パラメータ:
regex - 正規表現。
replacement - 置換文字列。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

accept

public boolean accept(java.io.File file)
指定されたファイルの最終更新日が、ターゲット・ファイルの最終更新日よりも 新しいかどうかを判定する。
ターゲット・ファイルのパスは、引数のファイルのパスを元に、このオブジェクト に設定されている変換方法を使って求められる。
ターゲット・ファイルが存在しない場合はtrueを返す。
引数のファイルが存在しない場合はfalseを返す。
ターゲット・ファイルのパスへの変換に失敗した場合はfalseを返す。

定義:
インタフェース java.io.FileFilter 内の accept
パラメータ:
file - 判定対象のファイル。
戻り値:
指定されたファイルの最終更新日がターゲット・ファイルよりも新しい か、ターゲット・ファイルが存在しない場合はtrueを返す。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

getTargetFile

protected java.io.File getTargetFile(java.io.File file)
                              throws java.io.IOException
ターゲット・ファイルを求める。

パラメータ:
file - 判定対象のファイル。
例外:
java.io.IOException - ターゲット・ファイルを求めることに失敗した場合。
java.lang.AssertionError - 引数がヌルの場合。

getRelativePaths

protected Duo<java.lang.String,java.lang.String> getRelativePaths(java.io.File file,
                                                                  java.io.File baseFile)
                                                           throws java.io.IOException
指定されたファイルの、基底ファイルからの相対パスを取得し、それを 親ディレクトリ・パスとファイル名に分けて取得する。
返されるDuoオブジェクトの 第1要素に親ディレクトリ・パス、第2要素にファイル名が格納される。

パラメータ:
file - ファイル。
baseFile - 基底ファイル。
戻り値:
相対パスの親ディレクトリ・パスとファイル名を格納した Duoオブジェクト。
例外:
java.io.IOException - 相対パスの取得に失敗した場合。
java.lang.AssertionError - 引数がヌルの場合。


Copyright (C) SATOH Takayuki All Rights Reserved.