package org.jmeld.ui;
import java.util.*;
import org.jmeld.util.node.JMDiffNode;
public class CollectDiffNodeLeaf {
private Set<JMDiffNode> diffNodeSet;
CollectDiffNodeLeaf(UINode uiNode) {
diffNodeSet = new HashSet<JMDiffNode>();
collectDiffNode(uiNode);
}
private void collectDiffNode(UINode uiNode) {
JMDiffNode diffNode;
if (!uiNode.isLeaf()) {
for (UINode childUINode : uiNode.getChildren()) {
collectDiffNode(childUINode);
}
} else {
diffNode = uiNode.getDiffNode();
if (diffNode != null) {
diffNodeSet.add(diffNode);
}
}
}
public List<JMDiffNode> getResult() {
return new ArrayList(diffNodeSet);
}
}