public final void visitParents(final Visitor visitor) { final Visit visit = new Visit(); if (parentNode != null) { visitor.node(parentNode, visit); if (!visit.isStopped()) { parentNode.visitParents(visitor); } } }
@Override protected void onAccept(final DiffNode node, final Visit visit) { super.onAccept(node, visit); visit.dontGoDeeper(); }
@Override protected void onDismiss(final DiffNode node, final Visit visit) { super.onDismiss(node, visit); visit.dontGoDeeper(); } }
protected boolean filter(final DiffNode node) { return (node.isRootNode() && !node.hasChanges()) || (node.hasChanges() && !node.hasChildren()); }
public void node(final DiffNode node, final Visit visit) { if (filter(node)) { final String text = differenceToString(node, base, working); print(text); } }
public Object canonicalGet(Object target) { if (parentNode != null) { target = parentNode.canonicalGet(target); } return get(target); }
public void canonicalUnset(Object target) { if (parentNode != null) { target = parentNode.canonicalGet(target); } unset(target); }
public void node(final DiffNode node, final Visit visit) { if (node.hasChanges()) { result.set(true); visit.stop(); } } });
@Override protected String differenceToString(final DiffNode node, final Object base, final Object modified) { final String text = super.differenceToString(node, base, modified); messages.put(node.getPath(), text); return text; }
public static DiffNode newRootNodeWithType(final Class<?> valueType) { final DiffNode rootNode = newRootNode(); rootNode.setType(valueType); return rootNode; }
@Override protected boolean accept(final DiffNode node) { if (isExcluded(node)) { return false; } if (isIncluded(node) || includeAllNonExcluded) { return true; } return false; }
@Override protected boolean accept(final DiffNode node) { return node.getState() == state; }
@Override public String toString() { return getMessagesAsString(); } }
private static int calculateDepth(final DiffNode node) { int count = 0; DiffNode parentNode = node.getParentNode(); while (parentNode != null) { count++; parentNode = parentNode.getParentNode(); } return count; }
private static Collection<String> categoriesFromNode(final DiffNode node) { return node.getCategories(); }
public static DiffNode newRootNode() { return new DiffNode(); }
@Override protected void onDismiss(final DiffNode node, final Visit visit) { super.onDismiss(node, visit); visit.dontGoDeeper(); }