/** * Visit all child nodes but not this one. * * @param visitor The visitor to use. */ public final void visitChildren(final Visitor visitor) { for (final DiffNode child : children.values()) { try { child.visit(visitor); } catch (final StopVisitationException e) { return; } } }
/** * Visit this and all child nodes. * * @param visitor The visitor to use. */ public final void visit(final Visitor visitor) { final Visit visit = new Visit(); try { visit(visitor, visit); } catch (final StopVisitationException ignored) { } }
@SuppressWarnings({"unchecked"}) public <T> T merge(final T modified, final T base, final T head) { final DiffNode.Visitor visitor = new MergingDifferenceVisitor<T>(head, modified); final DiffNode difference = objectDiffer.compare(modified, base); difference.visit(visitor); return head; }
/** * Visit all child nodes but not this one. * * @param visitor The visitor to use. */ public final void visitChildren(final Visitor visitor) { for (final DiffNode child : children.values()) { try { child.visit(visitor); } catch (final StopVisitationException e) { return; } } }
/** * Visit this and all child nodes. * * @param visitor The visitor to use. */ public final void visit(final Visitor visitor) { final Visit visit = new Visit(); try { visit(visitor, visit); } catch (final StopVisitationException ignored) { } }
@SuppressWarnings({"unchecked"}) public <T> T merge(final T modified, final T base, final T head) { final DiffNode.Visitor visitor = new MergingDifferenceVisitor<T>(head, modified); final DiffNode difference = objectDiffer.compare(modified, base); difference.visit(visitor); return head; }
root.visit(new DiffNode.Visitor() { @Override public void node(DiffNode node, Visit visit) {
diffNode.visit((node, visit) -> { String itemName = node.getElementSelector().toHumanReadableString();