Class DiffTreeIterator
java.lang.Object
org.eclipse.emf.compare.internal.conflict.DiffTreeIterator
- All Implemented Interfaces:
java.util.Iterator<Diff>
public class DiffTreeIterator extends java.lang.Object implements java.util.Iterator<Diff>
A custom iterator that will walk a Match->submatch tree, and allow iteration over the Diffs of these
Matches.
Since we're walking over Matches but returning Diffs, this is not a good candidate for guava's filters.
We're providing the custom setFilter(Predicate) and
setPruningFilter(Predicate) to allow for filtering or pruning the the iteration.
-
Constructor Summary
Constructors Constructor Description DiffTreeIterator(Match start)Constructs our iterator given the root of the Match tree to iterate over. -
Method Summary
Modifier and Type Method Description booleanhasNext()Diffnext()voidremove()voidsetFilter(java.util.function.Predicate<? super Diff> filter)Sets the criterion that Diffs must meet to be returned by this iterator.voidsetPruningFilter(java.util.function.Predicate<? super Match> pruningFilter)Sets the pruning filter for this iterator.
-
Constructor Details
-
DiffTreeIterator
Constructs our iterator given the root of the Match tree to iterate over.- Parameters:
start- Starting match of the tree we'll iterate over.
-
-
Method Details
-
setFilter
Sets the criterion that Diffs must meet to be returned by this iterator.- Parameters:
filter- The filter differences must meet.
-
setPruningFilter
Sets the pruning filter for this iterator. Any Match that meets this criterion will be pruned along with all of its differences and sub-differences.- Parameters:
pruningFilter- The pruning filter for this iterator.
-
hasNext
public boolean hasNext()- Specified by:
hasNextin interfacejava.util.Iterator<Diff>- See Also:
Iterator.hasNext()
-
next
- Specified by:
nextin interfacejava.util.Iterator<Diff>- See Also:
Iterator.next()
-
remove
public void remove()- Specified by:
removein interfacejava.util.Iterator<Diff>- See Also:
Iterator.remove()
-