package jetbrains.mps.lang.test.matcher; /*Generated by MPS */ import java.util.List; import java.util.ArrayList; public final class NodeDifference extends DifferenceItem { private final String myName; private final List<DifferenceItem> myDifference; public NodeDifference(String name, List<DifferenceItem> diffs) { this.myName = name; myDifference = new ArrayList<DifferenceItem>(diffs); } public String toString(int deep) { String pref = ""; for (int i = 0; i < deep; i++) { pref += " "; } StringBuffer buff = new StringBuffer(); buff.append(pref + "Node: " + myName + "\n"); for (DifferenceItem item : myDifference) { if (item instanceof NodeDifference) { buff.append(((NodeDifference) item).toString(deep + 1)); } else { buff.append(pref + " " + item + "\n"); } } return buff.toString(); } @Override public String toString() { return toString(0); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (!((obj instanceof NodeDifference))) { return false; } NodeDifference diff = (NodeDifference) obj; if (myName == null || !(myName.equals(diff.myName))) { return false; } if (!(myDifference.equals(diff.myDifference))) { return false; } return true; } }