From 654f7235ec49d15641c0f3e54ee140017d18ac3d Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 29 Sep 2011 10:16:29 -0700 Subject: [PATCH] Add varargs version of PathFilterGroup.createFromStrings This allows the following usage pattern: PathFilterGroup.createFromStrings("path1", "path2"); Change-Id: I589e758cc55873ce75614602e017ac793435e24d Signed-off-by: Kevin Sawicki Signed-off-by: Chris Aniszczyk --- .../jgit/treewalk/filter/PathFilterGroup.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/PathFilterGroup.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/PathFilterGroup.java index 756b00068..27b1b1044 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/PathFilterGroup.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/PathFilterGroup.java @@ -91,6 +91,33 @@ public class PathFilterGroup { return create(p); } + /** + * Create a collection of path filters from Java strings. + *

+ * 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. + *

+ * Paths may appear in any order. Sorting may be done internally when the + * group is constructed if doing so will improve path matching performance. + * + * @param paths + * the paths to test against. Must have at least one entry. + * @return a new filter for the paths supplied. + */ + public static TreeFilter createFromStrings(final String... paths) { + if (paths.length == 0) + throw new IllegalArgumentException( + JGitText.get().atLeastOnePathIsRequired); + final int length = paths.length; + final PathFilter[] p = new PathFilter[length]; + for (int i = 0; i < length; i++) + p[i] = PathFilter.create(paths[i]); + return create(p); + } + /** * Create a collection of path filters. *