パッケージ 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) 新規作成
導入されたバージョン:
  JDK1.8,

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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