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
PathFilterGroupto 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 Modifier and Type Method Description PathFilterclone()Clone this tree filter, including its parameters.static PathFiltercreate(String path)Create a new tree filter for a user supplied path.StringgetPath()booleaninclude(TreeWalk walker)Determine if the current entry is interesting to report.booleanisDone(TreeWalk walker)booleanshouldBeRecursive()Does this tree filter require a recursive walk to match everything?StringtoString()-
Methods inherited from class org.eclipse.jgit.treewalk.filter.TreeFilter
negate
-
-
-
-
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:TreeFilterDetermine 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:
includein classTreeFilter- 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:TreeFilterDoes 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:
shouldBeRecursivein classTreeFilter- 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:TreeFilterClone 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:
clonein classTreeFilter- Returns:
- another copy of this filter, suitable for another thread.
-
toString
public String toString()
- Overrides:
toStringin classTreeFilter
-
isDone
public boolean isDone(TreeWalk walker)
- Parameters:
walker- The walk to check against.- Returns:
trueif the path length of this filter matches the length of the current path of the supplied TreeWalk.
-
-