@Override public boolean childNodeAdded(final String name, final NodeState after) { return diff.childNodeAdded(name, nodeState.decorate(name, after)); }
@Override public boolean childNodeChanged(final String name, final NodeState before, final NodeState after) { return diff.childNodeChanged(name, before, nodeState.decorate(name, after)); }
@Override public boolean childNodeDeleted(String name, NodeState before) { return diff.childNodeDeleted(name, before); } });
private static boolean compareProperties( PropertyState before, PropertyState after, NodeStateDiff diff) { if (before == null) { return after == null || diff.propertyAdded(after); } else if (after == null) { return diff.propertyDeleted(before); } else { return before.equals(after) || diff.propertyChanged(before, after); } }
PropertyState after = newProperties.remove(before.getName()); if (after == null) { if (!diff.propertyDeleted(before)) { return false; if (!diff.propertyChanged(before, after)) { return false; if (!diff.propertyAdded(after)) { return false; NodeState after = newNodes.remove(name); if (after == null) { if (!diff.childNodeDeleted(name, before)) { return false; if (!diff.childNodeChanged(name, before, after)) { return false; if (!diff.childNodeAdded(entry.getKey(), entry.getValue())) { return false;
NodeState afterChild = this.getChildNode(name); if (!afterChild.exists()) { if (!decoratingDiff.childNodeDeleted(name, beforeChild)) { return false; baseChildNodes.add(name); if (!afterChild.equals(beforeChild)) { // TODO: fastEquals? if (!decoratingDiff.childNodeChanged(name, beforeChild, afterChild)) { return false; String name = afterChild.getName(); if (!baseChildNodes.contains(name)) { if (!decoratingDiff.childNodeAdded(name, afterChild.getNodeState())) { return false;
@Override public boolean childNodeChanged(String name) { boolean continueComparison = true; NodeState baseChild = base.getChildNode(name); NodeState nodeChild = node.getChildNode(name); if (baseChild.exists()) { if (nodeChild.exists()) { continueComparison = compareExisting( baseChild, nodeChild, name, diff); } else { continueComparison = diff.childNodeDeleted(name, baseChild); } } else { if (nodeChild.exists()) { continueComparison = diff.childNodeAdded(name, nodeChild); } } return continueComparison; }
@Override public boolean propertyChanged(PropertyState before, PropertyState after) { if (includeProperties) { return diff.propertyChanged(before, after); } else { return true; } }
@Override public boolean propertyDeleted(final PropertyState before) { return diff.propertyDeleted(nodeState.decorate(before)); } }
@Override public boolean propertyAdded(PropertyState after) { if (includeProperties) { return diff.propertyAdded(after); } else { return true; } }
@Override public boolean compareAgainstBaseState(NodeState base, NodeStateDiff diff) { if (base != EMPTY_NODE && base.exists()) { for (PropertyState before : base.getProperties()) { if (!diff.propertyDeleted(before)) { return false; } } for (ChildNodeEntry before : base.getChildNodeEntries()) { if (!diff.childNodeDeleted( before.getName(), before.getNodeState())) { return false; } } } return true; }
public static boolean compareAgainstEmptyState( NodeState state, NodeStateDiff diff) { if (state != EMPTY_NODE && state.exists()) { for (PropertyState after : state.getProperties()) { if (!diff.propertyAdded(after)) { return false; } } for (ChildNodeEntry after : state.getChildNodeEntries()) { if (!diff.childNodeAdded(after.getName(), after.getNodeState())) { return false; } } } return true; }
PropertyState after = newProperties.remove(before.getName()); if (after == null) { if (!diff.propertyDeleted(before)) { return false; if (!diff.propertyChanged(before, after)) { return false; if (!diff.propertyAdded(after)) { return false; NodeState after = newNodes.remove(name); if (after == null) { if (!diff.childNodeDeleted(name, before)) { return false; if (!diff.childNodeChanged(name, before, after)) { return false; if (!diff.childNodeAdded(entry.getKey(), entry.getValue())) { return false;
NodeState afterChild = this.getChildNode(name); if (!afterChild.exists()) { if (!decoratingDiff.childNodeDeleted(name, beforeChild)) { return false; baseChildNodes.add(name); if (!afterChild.equals(beforeChild)) { // TODO: fastEquals? if (!decoratingDiff.childNodeChanged(name, beforeChild, afterChild)) { return false; String name = afterChild.getName(); if (!baseChildNodes.contains(name)) { if (!decoratingDiff.childNodeAdded(name, afterChild.getNodeState())) { return false;
@Override public boolean childNodeChanged(String name) { boolean continueComparison = true; NodeState baseChild = base.getChildNode(name); NodeState nodeChild = node.getChildNode(name); if (baseChild.exists()) { if (nodeChild.exists()) { continueComparison = compareExisting( baseChild, nodeChild, name, diff); } else { continueComparison = diff.childNodeDeleted(name, baseChild); } } else { if (nodeChild.exists()) { continueComparison = diff.childNodeAdded(name, nodeChild); } } return continueComparison; }
PropertyState afterProperty = state.getProperty(name); if (afterProperty == null) { if (!diff.propertyDeleted(beforeProperty)) { return false; baseProperties.add(name); if (!beforeProperty.equals(afterProperty)) { if (!diff.propertyChanged(beforeProperty, afterProperty)) { return false; if (!diff.propertyAdded(afterProperty)) { return false;
@Override public boolean propertyChanged(final PropertyState before, final PropertyState after) { return diff.propertyChanged(nodeState.decorate(before), nodeState.decorate(after)); }
@Override public boolean propertyDeleted(PropertyState before) { if (includeProperties) { return diff.propertyDeleted(before); } else { return true; } }
@Override public boolean propertyAdded(final PropertyState after) { return diff.propertyAdded(nodeState.decorate(after)); }
@Override public boolean compareAgainstBaseState(NodeState base, NodeStateDiff diff) { if (base != EMPTY_NODE && base.exists()) { for (PropertyState before : base.getProperties()) { if (!diff.propertyDeleted(before)) { return false; } } for (ChildNodeEntry before : base.getChildNodeEntries()) { if (!diff.childNodeDeleted( before.getName(), before.getNodeState())) { return false; } } } return true; }