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

## クラス PathMatcherSet

- java.lang.Object
- - org.opengion.fukurou.fileexec.PathMatcherSet

- すべての実装されたインタフェース:
    `PathMatcher`

      public class PathMatcherSet
      extends Object
      implements PathMatcher

  PathMatcherSet は、ファイル監視を行うクラスで利用する、ファイルの選別(PathMatcher)を管理するクラスです。

       PathMatcherオブジェクトを複数持っており（Set)それらが、その、判定によって、
       イベントを起こすかどうか、フィルタリングします。

  変更履歴:
    7.0.0.0 (2017/07/07) 新規作成
  バージョン
    7.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.8,

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `PathMatcherSet()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `boolean` | `addAll​(PathMatcherSet pmSet)` | すべてのPathMatcherSet を、追加登録します。
    `PathMatcherSet` | `addEndsWith​(String... endKey)` | 指定のパスが、指定の文字列と、終端一致(endsWith) したパスのみ、有効とします。
    `PathMatcherSet` | `addFileName​(String filename)` | 指定のパスが、指定の文字列と、あいまい条件で一致したパスのみ、有効とします。
    `PathMatcherSet` | `addPathMatcher​(PathMatcher pathMch)` | PathMatcher を、追加登録します。
    `PathMatcherSet` | `addStartsWith​(String... startKey)` | 指定のパスが、指定の文字列と、先頭一致(startsWith) したパスのみ、有効とします。
    `boolean` | `allMatch​(Path path)` | すべての要素が、条件を満たす場合にのみ、有効となります。
    `boolean` | `anyMatch​(Path path)` | いずれかの要素が、条件を満たす場合に、有効となります。
    `void` | `clear()` | すべての要素をセットから削除します。
    `boolean` | `isEmpty()` | 内部の PathMatcherに、要素が含まれてい無い場合に、true を返します。
    `boolean` | `matches​(Path path)` | 指定されたパスがこのマッチャのパターンに一致するかどうかを示します。
    `boolean` | `noneMatch​(Path path)` | 一致する要素が、ひとつも存在しない場合に、有効となります。

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

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

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

    - #### PathMatcherSet

          public PathMatcherSet()

      デフォルトコンストラクター

  - ### メソッドの詳細

    - #### addAll

          public boolean addAll​(PathMatcherSet pmSet)

      すべてのPathMatcherSet を、追加登録します。 引数が、null の場合は、登録しません。
      パラメータ:
        `pmSet` - パスの照合操作のパターン
      戻り値:
        このセットが変更された場合はtrue

    - #### isEmpty

          public boolean isEmpty()

      内部の PathMatcherに、要素が含まれてい無い場合に、true を返します。
      戻り値:
        このセットに要素が1つも含まれていない場合はtrue

    - #### clear

          public void clear()

      すべての要素をセットから削除します。

    - #### addPathMatcher

          public PathMatcherSet addPathMatcher​(PathMatcher pathMch)

      PathMatcher を、追加登録します。 引数が、null の場合は、登録しません。
      パラメータ:
        `pathMch` - パスの照合操作のパターン
      戻り値:
        自分自身
      関連項目:
        `PathMatcher`, `addStartsWith(String...)`, `addEndsWith(String...)`

    - #### addStartsWith

          public PathMatcherSet addStartsWith​(String... startKey)

      指定のパスが、指定の文字列と、先頭一致(startsWith) したパスのみ、有効とします。 これは、#addPathMatcher(PathMatcher) の簡易指定版です。 指定の先頭一致(一般にはファイル名の先頭)のうち、ひとつでも一致すれば、true となります。 先頭文字列の判定には、大文字小文字の区別を行いません。
      パラメータ:
        `startKey` - パスの先頭一致のパターン
      戻り値:
        自分自身
      関連項目:
        `addPathMatcher(PathMatcher)`, `addEndsWith(String...)`
      変更履歴:
        7.2.9.4 (2020/11/20) spotbugs:null になっている可能性があるメソッドの戻り値を利用している

    - #### addEndsWith

          public PathMatcherSet addEndsWith​(String... endKey)

      指定のパスが、指定の文字列と、終端一致(endsWith) したパスのみ、有効とします。 これは、#addPathMatcher(PathMatcher) の簡易指定版です。 指定の終端文字列(一般には拡張子)のうち、ひとつでも一致すれば、true となります。 指定しない場合(null)は、すべて許可されたことになります。 終端文字列の判定には、大文字小文字の区別を行いません。
      パラメータ:
        `endKey` - パスの終端一致のパターン
      戻り値:
        自分自身
      関連項目:
        `addPathMatcher(PathMatcher)`, `addStartsWith(String...)`
      変更履歴:
        7.2.9.4 (2020/11/20) spotbugs:null になっている可能性があるメソッドの戻り値を利用している

    - #### addFileName

          public PathMatcherSet addFileName​(String filename)

      指定のパスが、指定の文字列と、あいまい条件で一致したパスのみ、有効とします。 PREFIX*SUFIX 形式で、'*' を前後に、StartsWithとEndsWithに登録します。 '*'は、一つしか使用できません。正規表現ではなく、簡易的なあいまい検索です。 そのため、ﾌｧｲﾙ名の指定は、一つのみとします。 '*' が存在しない場合は、先頭一致とします。 指定しない場合(null)は、すべて許可されたことになります。 終端文字列の判定には、大文字小文字の区別を行いません。
      パラメータ:
        `filename` - パスの一致のパターン
      戻り値:
        自分自身
      関連項目:
        `addStartsWith(String...)`, `addEndsWith(String...)`
      変更履歴:
        6.8.1.5 (2017/09/08) ﾌｧｲﾙ名の'*'の処理の見直し, 7.2.9.4 (2020/11/20) spotbugs:null になっている可能性があるメソッドの戻り値を利用している

    - #### matches

          public boolean matches​(Path path)

      指定されたパスがこのマッチャのパターンに一致するかどうかを示します。 内部の PathMatcher が、すべて true を返す場合のみ、true を返します。 未登録の場合は、true が返され、評価されません。 これは、#allMatch( Path ) と同じ結果を返します。
      定義:
        `matches` インタフェース内 `PathMatcher`
      パラメータ:
        `path` - 照合するパス
      戻り値:
        パスがこのマッチャのパターンに一致した場合にのみtrue
      関連項目:
        `allMatch( Path )`

    - #### allMatch

          public boolean allMatch​(Path path)

      すべての要素が、条件を満たす場合にのみ、有効となります。 内部の PathMatcher が、すべて true を返す場合のみ、true を返します。 未登録の場合は、true が返され、評価されません。 これは、#matches( Path ) と同じ結果を返します。
      パラメータ:
        `path` - 判定対象の Pathオブジェクト
      戻り値:
        内部の PathMatcher が、すべて true を返す場合のみ、true
      関連項目:
        `matches( Path )`

    - #### anyMatch

          public boolean anyMatch​(Path path)

      いずれかの要素が、条件を満たす場合に、有効となります。 内部の PathMatcher の、いずれかが、 true を返す場合に、true を返します。 未登録の場合は、true が返され、評価されません。 この動きは、Set#anyMatch(java.util.function.Predicate)とは異なりますので、ご注意ください。
      パラメータ:
        `path` - 判定対象の Pathオブジェクト
      戻り値:
        内部の PathMatcher の、いずれかが、 true を返す場合に、true

    - #### noneMatch

          public boolean noneMatch​(Path path)

      一致する要素が、ひとつも存在しない場合に、有効となります。 内部の PathMatcher の要素のすべてに、false を返す場合に、true を返します。 未登録の場合は、true が返され、評価されません。
      パラメータ:
        `path` - 判定対象の Pathオブジェクト
      戻り値:
        内部の PathMatcher の要素のすべてに、false を返す場合に、true