Package org.eclipse.jgit.treewalk.filter

## Class PathFilter

- java.lang.Object
- - org.eclipse.jgit.treewalk.filter.TreeFilter
  - - org.eclipse.jgit.treewalk.filter.PathFilter

    public class PathFilter
    extends TreeFilter

Includes tree entries only if they match the configured path.

Applications should use `PathFilterGroup` to connect these into a tree filter graph, as the group supports breaking out of traversal once it is known the path can never match.

### Field Summary

### Fields inherited from class org.eclipse.jgit.treewalk.filter.TreeFilter

`ALL, ANY_DIFF`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`PathFilter` `clone()` Clone this tree filter, including its parameters.
`static PathFilter` `create​(String path)` Create a new tree filter for a user supplied path.
`String` `getPath()`
`boolean` `include​(TreeWalk walker)` Determine if the current entry is interesting to report.
`boolean` `isDone​(TreeWalk walker)`
`boolean` `shouldBeRecursive()` Does this tree filter require a recursive walk to match everything?
`String` `toString()`

### Methods inherited from class org.eclipse.jgit.treewalk.filter.TreeFilter

`negate`

### Methods inherited from class java.lang.Object

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

### Method Detail

#### create

    public static PathFilter create​(String path)

Create a new tree filter for a user supplied path.

Path strings are relative to the root of the repository. If the user's input should be assumed relative to a subdirectory of the repository the caller must prepend the subdirectory's path prior to creating the filter.

Path strings use '/' to delimit directories on all platforms.

Parameters:
  `path` - the path to filter on. Must not be the empty string. All trailing '/' characters will be trimmed before string's length is checked or is used as part of the constructed filter.
Returns:
  a new filter for the requested path.
Throws:
  `IllegalArgumentException` - the path supplied was the empty string.

#### getPath

    public String getPath()

Returns:
  the path this filter matches.

#### include

    public boolean include​(TreeWalk walker)

Description copied from class: `TreeFilter`
Determine if the current entry is interesting to report.

This method is consulted for subtree entries even if `TreeWalk.isRecursive()` is enabled. The consultation allows the filter to bypass subtree recursion on a case-by-case basis, even when recursion is enabled at the application level.

Specified by:
  `include` in class `TreeFilter`
Parameters:
  `walker` - the walker the filter needs to examine.
Returns:
  true if the current entry should be seen by the application; false to hide the entry.

#### shouldBeRecursive

    public boolean shouldBeRecursive()

Description copied from class: `TreeFilter`
Does this tree filter require a recursive walk to match everything?

If this tree filter is matching on full entry path names and its pattern is looking for a '/' then the filter would require a recursive TreeWalk to accurately make its decisions. The walker is not required to enable recursive behavior for any particular filter, this is only a hint.

Specified by:
  `shouldBeRecursive` in class `TreeFilter`
Returns:
  true if the filter would like to have the walker recurse into subtrees to make sure it matches everything correctly; false if the filter does not require entering subtrees.

#### clone

    public PathFilter clone()

Description copied from class: `TreeFilter`
Clone this tree filter, including its parameters.

This is a deep clone. If this filter embeds objects or other filters it must also clone those, to ensure the instances do not share mutable data.

Specified by:
  `clone` in class `TreeFilter`
Returns:
  another copy of this filter, suitable for another thread.

#### toString

    public String toString()

Overrides:
  `toString` in class `TreeFilter`

#### isDone

    public boolean isDone​(TreeWalk walker)

Parameters:
  `walker` - The walk to check against.
Returns:
  `true` if the path length of this filter matches the length of the current path of the supplied TreeWalk.