From 4213a91c97c68d7a4ee1450210f55ebeab401654 Mon Sep 17 00:00:00 2001 From: Robin Stocker Date: Sat, 1 Dec 2012 23:51:09 +0100 Subject: [PATCH] Enable reuse of FileTreeIterator and FileEntry for non subclasses 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 --- .../org/eclipse/jgit/treewalk/FileTreeIterator.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java index 315d9091c..cd594cef4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java @@ -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()) {