Class 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 Detail

      • 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 Detail

      • 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.