public class PathSuffixFilter extends TreeFilter
For example, PathSuffixFilter.create(".txt")
will match all
paths ending in .txt
.
Using this filter is recommended instead of filtering the entries using
TreeWalk.getPathString()
and
endsWith
or some other type of string match function.
ALL, ANY_DIFF
Modifier and Type | Method and Description |
---|---|
TreeFilter |
clone()
Clone this tree filter, including its parameters.
|
static PathSuffixFilter |
create(String path)
Create a new tree filter for a user supplied path suffix.
|
boolean |
include(TreeWalk walker)
Determine if the current entry is interesting to report.
|
boolean |
shouldBeRecursive()
Does this tree filter require a recursive walk to match everything?
|
matchFilter, negate, toString
public static PathSuffixFilter create(String path)
Path strings use '/' to delimit directories on all platforms.
path
- the path suffix to filter on. Must not be the empty string.IllegalArgumentException
- the path supplied was the empty string.public TreeFilter clone()
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.
clone
in class TreeFilter
public boolean include(TreeWalk walker) throws MissingObjectException, IncorrectObjectTypeException, IOException
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.
include
in class TreeFilter
walker
- the walker the filter needs to examine.MissingObjectException
- an object the filter needs to consult to determine its answer
does not exist in the Git repository the walker is operating
on. Filtering this current walker entry is impossible without
the object.IncorrectObjectTypeException
- an object the filter needed to consult was not of the
expected object type. This usually indicates a corrupt
repository, as an object link is referencing the wrong type.IOException
- a loose object or pack file could not be read to obtain data
necessary for the filter to make its decision.public boolean shouldBeRecursive()
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.
shouldBeRecursive
in class TreeFilter
Copyright © 2020 Eclipse JGit Project. All rights reserved.