Class DiffTreeIterator

java.lang.Object
org.eclipse.emf.compare.internal.conflict.DiffTreeIterator
All Implemented Interfaces:
Iterator<Diff>

public class DiffTreeIterator extends Object implements 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 Details

    • DiffTreeIterator

      public DiffTreeIterator(Match start)
      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

      public void setFilter(Predicate<? super Diff> filter)
      Sets the criterion that Diffs must meet to be returned by this iterator.
      Parameters:
      filter - The filter differences must meet.
    • setPruningFilter

      public void setPruningFilter(Predicate<? super Match> pruningFilter)
      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:
      hasNext in interface Iterator<Diff>
      See Also:
    • next

      public Diff next()
      Specified by:
      next in interface Iterator<Diff>
      See Also:
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<Diff>
      See Also: