パッケージ org.opengion.fukurou.util

## クラス HybsFileFilter

- java.lang.Object
- - org.opengion.fukurou.util.HybsFileFilter

- すべての実装されたインタフェース:
    `java.io.FileFilter`

      public final class HybsFileFilter
      extends java.lang.Object
      implements java.io.FileFilter

  HybsFileFilter.java は、複数の FileFilter を順次実行する フィルタクラスです。 FileFilter インターフェースを継承し、File クラスの listFiles(FileFilter) メソッドに 渡すことができます。 Filterに設定された複数のフィルタすべてを満たす場合の時のみ、accept(File pathname) メソッドは、true を返します。 ※ 6.3.1.1 (2015/07/10) 各フィルター登録時に、自分自身を返す、メソッドチェーンに対応します。 大文字/小文字の区別なしで判定する、(ignoreCase=true)属性を追加します。 大文字小文字は、すべての文字判定型フィルターに適用されます。 ※ 6.4.0.2 (2015/12/11) prefix,suffix,instr,equals に、("|"で複数指定可) の説明をJavaDocに追加。 useDIR 属性に、onlyパラメータを追加[false:File/true:File+Dir/only:Dir]。 この実装は同期化されません。
  変更履歴:
    6.3.1.1 (2015/07/10) メソッドチェーン化と、大文字/小文字の区別なし(ignoreCase=true)対応
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `HybsFileFilter()` | 指定された抽象パス名がパス名リストに含まれる必要がある場合、スルー(選択)されます。
    `HybsFileFilter​(java.lang.String useDIR, boolean ignoreCase)` | 引数に、ディレクトリの判定を行うかどうかを指定するコンストラクタです。
    `HybsFileFilter​(java.lang.String useDIR, boolean ignoreCase, boolean notEquals)` | 引数に、ディレクトリの判定を行うかどうかを指定するコンストラクタです。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `boolean` | `accept​(java.io.File pathname)` | 指定された抽象パス名がパス名リストに含まれる必要がある場合、スルー(選択)されます。
    `HybsFileFilter` | `addFileFilter​(java.io.FileFilter filter)` | 外部指定フィルタ： 内部判定条件に、フィルタを追加します。
    `HybsFileFilter` | `endsWith​(java.lang.String suffix)` | 内部判定フィルタ： 指定された接頭辞で終わる場合、スルー(選択)されます。
    `HybsFileFilter` | `endsWith​(java.lang.String suffix, boolean reverse)` | 内部判定フィルタ： 指定された接頭辞で終わる場合、スルー(選択)されます。
    `HybsFileFilter` | `fileEquals​(java.lang.String str)` | 内部判定フィルタ： ファイル名が一致する場合、スルー(選択)されます。
    `HybsFileFilter` | `fileEquals​(java.lang.String str, boolean reverse)` | 内部判定フィルタ： ファイル名が一致する場合、スルー(選択)されます。
    `HybsFileFilter` | `instr​(java.lang.String str)` | 内部判定フィルタ： 指定された文字列がファイル名に含まれる場合、スルー(選択)されます。
    `HybsFileFilter` | `instr​(java.lang.String str, boolean reverse)` | 内部判定フィルタ： 指定された文字列がファイル名に含まれる場合、スルー(選択)されます。
    `HybsFileFilter` | `isHidden​(java.lang.String flag)` | 内部判定フィルタ： ファイルが hidden の場合、スルー(選択)されます。
    `HybsFileFilter` | `isHidden​(java.lang.String flag, boolean reverse)` | 内部判定フィルタ： ファイルが hidden の場合、スルー(選択)されます。
    `HybsFileFilter` | `isLarger​(java.lang.String slen)` | 内部判定フィルタ： 指定の大きさより大きいファイルの場合、スルー(選択)されます。
    `HybsFileFilter` | `isSmaller​(java.lang.String slen)` | 内部判定フィルタ： 指定の大きさより小さいファイルの場合、スルー(選択)されます。
    `HybsFileFilter` | `lastModified​(java.lang.String modify)` | 内部判定フィルタ： 指定のタイムスタンプ以後に変更されている場合、スルー(選択)されます。
    `HybsFileFilter` | `lastModified​(java.lang.String modify, boolean reverse)` | 内部判定フィルタ： 指定のタイムスタンプ以後に変更されている場合、スルー(選択)されます。
    `HybsFileFilter` | `matches​(java.lang.String str)` | 内部判定フィルタ： ファイル名が、指定された 正規表現 と一致する場合、スルー(選択)されます 大文字小文字の区別は、ignoreCase で切り替えます。
    `HybsFileFilter` | `matches​(java.lang.String str, boolean reverse)` | 内部判定フィルタ： ファイル名が、指定された 正規表現 と一致する場合、スルー(選択)されます 大文字小文字の区別は、ignoreCase で切り替えます。
    `HybsFileFilter` | `startsDir​(java.lang.String prefix)` | 内部判定フィルタ： 指定された接頭辞で始まるディレクトリの場合、スルー(選択)されます。
    `HybsFileFilter` | `startsDir​(java.lang.String prefix, boolean reverse)` | 内部判定フィルタ： 指定された接頭辞で始まるディレクトリの場合、スルー(選択)されます。
    `HybsFileFilter` | `startsWith​(java.lang.String prefix)` | 内部判定フィルタ： 指定された接頭辞で始まる場合、スルー(選択)されます。
    `HybsFileFilter` | `startsWith​(java.lang.String prefix, boolean reverse)` | 内部判定フィルタ： 指定された接頭辞で始まる場合、スルー(選択)されます。
    `java.lang.String` | `toString()` | このオブジェクトの文字列表現を返します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### HybsFileFilter

          public HybsFileFilter()

      指定された抽象パス名がパス名リストに含まれる必要がある場合、スルー(選択)されます。 ここでの判定ロジックでは、ファイルについてのみ処理します。 ディレクトリは、常に、true を返します。 notEquals 属性で、判定結果を反転させることができます。 ignoreCase の初期値は、大文字/小文字の区別しない(true)です。
      変更履歴:
        6.3.1.1 (2015/07/10) 大文字/小文字の区別[true:しない/false:する], 6.4.0.2 (2015/12/11) useDIR 属性に、onlyパラメータを追加します[false:File/true:File+Dir/only:Dir]。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### HybsFileFilter

          public HybsFileFilter​(java.lang.String useDIR,
                                boolean ignoreCase)

      引数に、ディレクトリの判定を行うかどうかを指定するコンストラクタです。 ここで、true を指定すると、ファイル、ディレクトリの両方に対して 処理を実施します。 ディレクトリの判定の場合、acceptメソッドで、false が返ると それ以下の処理も実行されません。
      パラメータ:
        `useDIR` - 判定対象を指定します[false:File/true:File+Dir/only:Dir]。
        `ignoreCase` - 大文字/小文字の区別[true:しない/false:する]
      変更履歴:
        5.1.2.0 (2010/01/01) 引数つきコンストラクタ追加, 6.3.1.1 (2015/07/10) 大文字/小文字の区別[true:しない/false:する], 6.4.0.2 (2015/12/11) useDIR 属性に、onlyパラメータを追加します[false:File/true:File+Dir/only:Dir]。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### HybsFileFilter

          public HybsFileFilter​(java.lang.String useDIR,
                                boolean ignoreCase,
                                boolean notEquals)

      引数に、ディレクトリの判定を行うかどうかを指定するコンストラクタです。 ここで、true を指定すると、ファイル、ディレクトリの両方に対して 処理を実施します。 ディレクトリの判定の場合、acceptメソッドで、false が返ると それ以下の処理も実行されません。
      パラメータ:
        `useDIR` - 判定対象を指定します[false:File/true:File+Dir/only:Dir]。
        `ignoreCase` - 大文字/小文字の区別[true:しない/false:する]
        `notEquals` - 判定結果を反転させて処理するかどうか[true:反転する/false:通常]
      変更履歴:
        5.1.2.0 (2010/01/01) 引数つきコンストラクタ追加, 6.3.1.1 (2015/07/10) 大文字/小文字の区別[true:しない/false:する], 6.4.0.2 (2015/12/11) useDIR 属性に、onlyパラメータを追加します[false:File/true:File+Dir/only:Dir]。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

  - ### メソッドの詳細

    - #### accept

          public boolean accept​(java.io.File pathname)

      指定された抽象パス名がパス名リストに含まれる必要がある場合、スルー(選択)されます。 ここでの判定ロジックでは、ファイルについてのみ処理します。 ディレクトリは、常に、true を返します。
      定義:
        `accept` インタフェース内 `java.io.FileFilter`
      パラメータ:
        `pathname` - ファイルオブジェクト
      戻り値:
        パス名リストに含まれるかどうか
      関連項目:
        `FileFilter.accept(File)`
      変更履歴:
        6.4.0.2 (2015/12/11) useDIR 属性に、onlyパラメータを追加します[false:File/true:File+Dir/only:Dir]。

    - #### addFileFilter

          public HybsFileFilter addFileFilter​(java.io.FileFilter filter)

      外部指定フィルタ： 内部判定条件に、フィルタを追加します。 引数が null の場合は、追加しません。
      パラメータ:
        `filter` - 外部指定フィルタ
      戻り値:
        自分自身(this)
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### startsWith

          public HybsFileFilter startsWith​(java.lang.String prefix)

      内部判定フィルタ： 指定された接頭辞で始まる場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。
      パラメータ:
        `prefix` - 接頭辞("|"で複数指定可)
      戻り値:
        自分自身(this)
      関連項目:
        `String.startsWith(String)`
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### startsWith

          public HybsFileFilter startsWith​(java.lang.String prefix,
                                           boolean reverse)

      内部判定フィルタ： 指定された接頭辞で始まる場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。 reverse = true に設定すると、結果を反転させます。
      パラメータ:
        `prefix` - 接頭辞("|"で複数指定可)
        `reverse` - true:結果を反転する
      戻り値:
        自分自身(this)
      関連項目:
        `String.startsWith(String)`
      変更履歴:
        5.1.2.0 (2010/01/01) reverse属性の追加, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### startsDir

          public HybsFileFilter startsDir​(java.lang.String prefix)

      内部判定フィルタ： 指定された接頭辞で始まるディレクトリの場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。
      パラメータ:
        `prefix` - 接頭辞("|"で複数指定可)
      戻り値:
        自分自身(this)
      関連項目:
        `String.startsWith(String)`
      変更履歴:
        6.4.3.2 (2016/02/19) ディレクトリの先頭一致対応, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### startsDir

          public HybsFileFilter startsDir​(java.lang.String prefix,
                                          boolean reverse)

      内部判定フィルタ： 指定された接頭辞で始まるディレクトリの場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。 reverse = true に設定すると、結果を反転させます。
      パラメータ:
        `prefix` - 接頭辞("|"で複数指定可)
        `reverse` - true:結果を反転する
      戻り値:
        自分自身(this)
      関連項目:
        `String.startsWith(String)`
      変更履歴:
        6.4.3.2 (2016/02/19) ディレクトリの先頭一致対応

    - #### endsWith

          public HybsFileFilter endsWith​(java.lang.String suffix)

      内部判定フィルタ： 指定された接頭辞で終わる場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。
      パラメータ:
        `suffix` - 接尾辞("|"で複数指定可)
      戻り値:
        自分自身(this)
      関連項目:
        `String.endsWith(String)`
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### endsWith

          public HybsFileFilter endsWith​(java.lang.String suffix,
                                         boolean reverse)

      内部判定フィルタ： 指定された接頭辞で終わる場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。 reverse = true に設定すると、結果を反転させます。
      パラメータ:
        `suffix` - 接尾辞("|"で複数指定可)
        `reverse` - true:結果を反転する
      戻り値:
        自分自身(this)
      関連項目:
        `String.endsWith(String)`
      変更履歴:
        5.1.2.0 (2010/01/01) reverse属性の追加, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### instr

          public HybsFileFilter instr​(java.lang.String str)

      内部判定フィルタ： 指定された文字列がファイル名に含まれる場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。
      パラメータ:
        `str` - 指定の部分文字列("|"で複数指定可)
      戻り値:
        自分自身(this)
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### instr

          public HybsFileFilter instr​(java.lang.String str,
                                      boolean reverse)

      内部判定フィルタ： 指定された文字列がファイル名に含まれる場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。 reverse = true に設定すると、結果を反転させます。
      パラメータ:
        `str` - 指定の部分文字列("|"で複数指定可)
        `reverse` - 結果を反転させるかどうか(true:反転)
      戻り値:
        自分自身(this)
      変更履歴:
        5.1.2.0 (2010/01/01) reverse属性の追加, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### fileEquals

          public HybsFileFilter fileEquals​(java.lang.String str)

      内部判定フィルタ： ファイル名が一致する場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。
      パラメータ:
        `str` - ファイル名文字列("|"で複数指定可)
      戻り値:
        自分自身(this)
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### fileEquals

          public HybsFileFilter fileEquals​(java.lang.String str,
                                           boolean reverse)

      内部判定フィルタ： ファイル名が一致する場合、スルー(選択)されます。 引数が null の場合は、追加しません。 引数に、'|' 区切り文字で複数設定した場合は、OR 判断(どれかが一致)します。 reverse = true に設定すると、結果を反転させます。
      パラメータ:
        `str` - ファイル名文字列("|"で複数指定可)
        `reverse` - true:結果を反転する
      戻り値:
        自分自身(this)
      変更履歴:
        5.1.2.0 (2010/01/01) reverse属性の追加, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### matches

          public HybsFileFilter matches​(java.lang.String str)

      内部判定フィルタ： ファイル名が、指定された 正規表現 と一致する場合、スルー(選択)されます 大文字小文字の区別は、ignoreCase で切り替えます。 ignoreCase ? Pattern.compile( str,Pattern.CASE_INSENSITIVE ) : Pattern.compile( str ) ; pattern.matcher( pathname.getName() ).find() == true と同じ結果が得られます。 引数が null の場合は、追加しません。
      パラメータ:
        `str` - ファイル名文字列(正規表現)
      戻り値:
        自分自身(this)
      関連項目:
        `Pattern.compile(String,int)`, `Matcher.find()`
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### matches

          public HybsFileFilter matches​(java.lang.String str,
                                        boolean reverse)

      内部判定フィルタ： ファイル名が、指定された 正規表現 と一致する場合、スルー(選択)されます 大文字小文字の区別は、ignoreCase で切り替えます。 ignoreCase ? Pattern.compile( str,Pattern.CASE_INSENSITIVE ) : Pattern.compile( str ) ; pattern.matcher( pathname.getName() ).find() == true と同じ結果が得られます。 引数が null の場合は、追加しません。 reverse = true に設定すると、結果を反転させます。
      パラメータ:
        `str` - ファイル名文字列(正規表現)
        `reverse` - true:結果を反転する
      戻り値:
        自分自身(this)
      関連項目:
        `Pattern.compile(String,int)`, `Matcher.find()`
      変更履歴:
        5.1.2.0 (2010/01/01) reverse属性の追加, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### lastModified

          public HybsFileFilter lastModified​(java.lang.String modify)

      内部判定フィルタ： 指定のタイムスタンプ以後に変更されている場合、スルー(選択)されます。 ディレクトリは、ここの判定では無視します。(必ず true を返します) 日付けの指定に、YYYYMMDD 形式の ８文字数字文字列以外に、 TODAY や YESTERDAY なども使用できます。 TODAY は、実行日の 00:00:00 を基準時刻とし、YESTERDAY は、その前日になります。 引数が null の場合は、追加しません。
      パラメータ:
        `modify` - 時刻を表す long 値(ミリ秒単位)
      戻り値:
        自分自身(this)
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### lastModified

          public HybsFileFilter lastModified​(java.lang.String modify,
                                             boolean reverse)

      内部判定フィルタ： 指定のタイムスタンプ以後に変更されている場合、スルー(選択)されます。 ディレクトリは、ここの判定では無視します。(必ず true を返します) 日付けの指定に、YYYYMMDD 形式の ８文字数字文字列以外に、 TODAY や YESTERDAY なども使用できます。 TODAY は、実行日の 00:00:00 を基準時刻とし、YESTERDAY は、その前日になります。 引数が null の場合は、追加しません。
      パラメータ:
        `modify` - 時刻を表す long 値(ミリ秒単位)
        `reverse` - true:結果を反転する
      戻り値:
        自分自身(this)
      変更履歴:
        6.3.1.1 (2015/07/10) 自分自身を返します。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### isLarger

          public HybsFileFilter isLarger​(java.lang.String slen)

      内部判定フィルタ： 指定の大きさより大きいファイルの場合、スルー(選択)されます。 指定はバイト単位ですが、**KB , **MB , **GB などの単位を付ける事も可能です。 現時点では、K , KB , M , MB , G , GB のみ指定可能です。
      パラメータ:
        `slen` - ファイルの大きさ(バイト単位)。同値を含む
      戻り値:
        自分自身(this)
      変更履歴:
        5.7.4.3 (2014/03/28) isLarger,isSmaller属性を文字列に変更, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### isSmaller

          public HybsFileFilter isSmaller​(java.lang.String slen)

      内部判定フィルタ： 指定の大きさより小さいファイルの場合、スルー(選択)されます。 引数が 0以下(マイナス) の場合は、追加しません。
      パラメータ:
        `slen` - ファイルの大きさ(バイト単位)。同値を含まない。
      戻り値:
        自分自身(this)
      変更履歴:
        5.7.4.3 (2014/03/28) isLarger,isSmaller属性を文字列に変更, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### isHidden

          public HybsFileFilter isHidden​(java.lang.String flag)

      内部判定フィルタ： ファイルが hidden の場合、スルー(選択)されます。 引数がtrueの場合は、hiddenファイルのみを選択します。 falseの場合は、hiddenファイル以外を選択します。(つまり hiddenファイルをブロックします。) hidden をブロックしたい場合は、false を設定し、すべて選択したい場合は、filter設定をしない事になります。 引数が null の場合は、追加しません。
      パラメータ:
        `flag` - [true:/false]
      戻り値:
        自分自身(this)
      変更履歴:
        5.7.5.0 (2014/04/04) 新規追加, 6.3.1.1 (2015/07/10) 自分自身を返します。, 6.8.0.0 (2017/06/02) 判定結果を反転させて処理する notEquals 属性を追加します。

    - #### isHidden

          public HybsFileFilter isHidden​(java.lang.String flag,
                                         boolean reverse)

      内部判定フィルタ： ファイルが hidden の場合、スルー(選択)されます。 引数がtrueの場合は、hiddenファイルのみを選択します。 falseの場合は、hiddenファイル以外を選択します。(つまり hiddenファイルをブロックします。) hidden をブロックしたい場合は、false を設定し、すべて選択したい場合は、filter設定をしない事になります。 reverse = true に設定すると、結果を反転させます。
      パラメータ:
        `flag` - [true:/false]
        `reverse` - true:結果を反転する
      戻り値:
        自分自身(this)
      変更履歴:
        5.7.5.0 (2014/04/04) 新規追加, 6.3.1.1 (2015/07/10) 自分自身を返します。

    - #### toString

          public java.lang.String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `java.lang.Object`
      戻り値:
        このクラスの文字列表現
      このメソッドは、nullを返しません