Class PathWatcher.Config

java.lang.Object
org.eclipse.jetty.util.PathWatcher.Config
All Implemented Interfaces:
Predicate<Path>
Enclosing class:
PathWatcher

public static class PathWatcher.Config extends Object implements Predicate<Path>
  • Field Details

    • UNLIMITED_DEPTH

      public static final int UNLIMITED_DEPTH
      See Also:
    • parent

      protected final PathWatcher.Config parent
    • path

      protected final Path path
    • includeExclude

      protected final IncludeExcludeSet<PathMatcher,Path> includeExclude
    • recurseDepth

      protected int recurseDepth
    • excludeHidden

      protected boolean excludeHidden
    • pauseUntil

      protected long pauseUntil
  • Constructor Details

  • Method Details

    • getParent

      public PathWatcher.Config getParent()
    • setPauseUntil

      public void setPauseUntil(long time)
    • isPaused

      public boolean isPaused(long now)
    • addExclude

      public void addExclude(PathMatcher matcher)
      Add an exclude PathMatcher
      Parameters:
      matcher - the path matcher for this exclude
    • addExclude

      public void addExclude(String syntaxAndPattern)
      Add an exclude PathMatcher.

      Note: this pattern is FileSystem specific (so use "/" for Linux and OSX, and "\\" for Windows)

      Parameters:
      syntaxAndPattern - the PathMatcher syntax and pattern to use
      See Also:
    • addExcludeGlobRelative

      public void addExcludeGlobRelative(String pattern)
      Add a glob: syntax pattern exclude reference in a directory relative, os neutral, pattern.
          On Linux:
          Config config = new Config(Path("/home/user/example"));
          config.addExcludeGlobRelative("*.war") => "glob:/home/user/example/*.war"
      
          On Windows
          Config config = new Config(Path("D:/code/examples"));
          config.addExcludeGlobRelative("*.war") => "glob:D:\\code\\examples\\*.war"
      
       
      Parameters:
      pattern - the pattern, in unixy format, relative to config.dir
    • addExcludeHidden

      public void addExcludeHidden()
      Exclude hidden files and hidden directories
    • addExcludes

      public void addExcludes(List<String> syntaxAndPatterns)
      Add multiple exclude PathMatchers
      Parameters:
      syntaxAndPatterns - the list of PathMatcher syntax and patterns to use
      See Also:
    • addInclude

      public void addInclude(PathMatcher matcher)
      Add an include PathMatcher
      Parameters:
      matcher - the path matcher for this include
    • addInclude

      public void addInclude(String syntaxAndPattern)
      Add an include PathMatcher
      Parameters:
      syntaxAndPattern - the PathMatcher syntax and pattern to use
      See Also:
    • addIncludeGlobRelative

      public void addIncludeGlobRelative(String pattern)
      Add a glob: syntax pattern reference in a directory relative, os neutral, pattern.
          On Linux:
          Config config = new Config(Path("/home/user/example"));
          config.addIncludeGlobRelative("*.war") => "glob:/home/user/example/*.war"
      
          On Windows
          Config config = new Config(Path("D:/code/examples"));
          config.addIncludeGlobRelative("*.war") => "glob:D:\\code\\examples\\*.war"
      
       
      Parameters:
      pattern - the pattern, in unixy format, relative to config.dir
    • addIncludes

      public void addIncludes(List<String> syntaxAndPatterns)
      Add multiple include PathMatchers
      Parameters:
      syntaxAndPatterns - the list of PathMatcher syntax and patterns to use
      See Also:
    • asSubConfig

      public PathWatcher.Config asSubConfig(Path dir)
      Build a new config from a this configuration.

      Useful for working with sub-directories that also need to be watched.

      Parameters:
      dir - the directory to build new Config from (using this config as source of includes/excludes)
      Returns:
      the new Config
    • getRecurseDepth

      public int getRecurseDepth()
    • isRecurseDepthUnlimited

      public boolean isRecurseDepthUnlimited()
    • getPath

      public Path getPath()
    • resolve

      public Path resolve(Path path)
    • test

      public boolean test(Path path)
      Specified by:
      test in interface Predicate<Path>
    • setRecurseDepth

      public void setRecurseDepth(int depth)
      Set the recurse depth for the directory scanning.

      -999 indicates arbitrarily deep recursion, 0 indicates no recursion, 1 is only one directory deep, and so on.

      Parameters:
      depth - the number of directories deep to recurse
    • isHidden

      public boolean isHidden(Path path)
    • toShortPath

      public String toShortPath(Path path)
    • toString

      public String toString()
      Overrides:
      toString in class Object