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;
}
}