@Override public boolean propertyChanged(PropertyState before, PropertyState after) { PropertyState other = builder.getProperty(before.getName()); if (other == null) { changeDeletedProperty(builder, after, before); } else if (other.equals(before)) { builder.setProperty(after); } else if (!other.equals(after)) { changeChangedProperty(builder, before, after); } return true; }
@Override public boolean childNodeChanged(String name, NodeState before, NodeState after) { if (builder.hasChildNode(name)) { after.compareAgainstBaseState(before, createDiff(builder, name)); } else if (after.equals(before)) { return false; } else { changeDeletedNode(builder, name, after, before); } return true; }
@Override public boolean propertyDeleted(PropertyState before) { PropertyState other = builder.getProperty(before.getName()); if (other == null) { deleteDeletedProperty(builder, before); } else if (other.equals(before)) { builder.removeProperty(before.getName()); } else { deleteChangedProperty(builder, before); } return true; }
@Override public boolean childNodeDeleted(String name, NodeState before) { if (!builder.hasChildNode(name)) { deleteDeletedNode(builder, name, before); } else if (before.equals(builder.child(name).getNodeState())) { builder.getChildNode(name).remove(); } else { deleteChangedNode(builder, name, before); } return true; }
@Override public boolean childNodeAdded(String name, NodeState after) { if (builder.hasChildNode(name)) { after.compareAgainstBaseState(EMPTY_NODE, createDiff(builder, name)); } else { builder.setChildNode(name, after); } return true; }
@Override public boolean propertyAdded(PropertyState after) { PropertyState other = builder.getProperty(after.getName()); if (other == null) { builder.setProperty(after); } else if (!other.equals(after)) { addExistingProperty(builder, other, after); } return true; }
@Override public boolean childNodeDeleted(String name, NodeState before) { if (!builder.hasChildNode(name)) { deleteDeletedNode(builder, name, before); } else if (before.equals(builder.child(name).getNodeState())) { builder.getChildNode(name).remove(); } else { deleteChangedNode(builder, name, before); } return true; }
@Override public boolean childNodeAdded(String name, NodeState after) { if (builder.hasChildNode(name)) { after.compareAgainstBaseState(EMPTY_NODE, createDiff(builder, name)); } else { builder.setChildNode(name, after); } return true; }
@Override public boolean propertyAdded(PropertyState after) { PropertyState other = builder.getProperty(after.getName()); if (other == null) { builder.setProperty(after); } else if (!other.equals(after)) { addExistingProperty(builder, other, after); } return true; }
@Override public boolean propertyChanged(PropertyState before, PropertyState after) { PropertyState other = builder.getProperty(before.getName()); if (other == null) { changeDeletedProperty(builder, after, before); } else if (other.equals(before)) { builder.setProperty(after); } else if (!other.equals(after)) { changeChangedProperty(builder, before, after); } return true; }
@Override public boolean propertyDeleted(PropertyState before) { PropertyState other = builder.getProperty(before.getName()); if (other == null) { deleteDeletedProperty(builder, before); } else if (other.equals(before)) { builder.removeProperty(before.getName()); } else { deleteChangedProperty(builder, before); } return true; }
@Override public boolean childNodeChanged(String name, NodeState before, NodeState after) { if (builder.hasChildNode(name)) { after.compareAgainstBaseState(before, createDiff(builder, name)); } else if (after.equals(before)) { return false; } else { changeDeletedNode(builder, name, after, before); } return true; }