]> source.dussan.org Git - jgit.git/commitdiff
Enable reuse of FileTreeIterator and FileEntry for non subclasses 89/8989/2
authorRobin Stocker <robin@nibor.org>
Sat, 1 Dec 2012 22:51:09 +0000 (23:51 +0100)
committerChris Aniszczyk <zx@twitter.com>
Mon, 3 Dec 2012 17:26:39 +0000 (11:26 -0600)
For EGit change I2c41d86b8b74c2a334433de1bbfed5b36af872bf,
ContainerTreeIterator also needs to create entries for File objects in
case of filtered resources. Instead of reimplementing FileEntry there,
make the constructor public so that it can be reused.

Also allow to pass a WorkingTreeIterator instead of a FileTreeIterator
in FileTreeIterator's constructor, which is enough and allows to pass
other subclasses.

Bug: 358901
Change-Id: Ie0f9c9434ef7d73a8d73d4fe46db4147ded1d267
Signed-off-by: Chris Aniszczyk <zx@twitter.com>
org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java

index 315d9091c53471640a76d16d2846e60ab9cb4257..cd594cef47338c290bca969f8b4703f20c8d42be 100644 (file)
@@ -120,7 +120,8 @@ public class FileTreeIterator extends WorkingTreeIterator {
         *            the subdirectory. This should be a directory contained within
         *            the parent directory.
         */
-       protected FileTreeIterator(final FileTreeIterator p, final File root, FS fs) {
+       protected FileTreeIterator(final WorkingTreeIterator p, final File root,
+                       FS fs) {
                super(p);
                directory = root;
                this.fs = fs;
@@ -155,7 +156,15 @@ public class FileTreeIterator extends WorkingTreeIterator {
 
                private long lastModified;
 
-               FileEntry(final File f, FS fs) {
+               /**
+                * Create a new file entry.
+                *
+                * @param f
+                *            file
+                * @param fs
+                *            file system
+                */
+               public FileEntry(final File f, FS fs) {
                        file = f;
 
                        if (f.isDirectory()) {