package org.jbpm.gd.jpdl.model;
import java.util.ArrayList;
import java.util.List;
public class SuperState extends AbstractAsyncableTimerNode implements NodeElementContainer {
private List nodes = new ArrayList();
public void addNodeElement(NodeElement node) {
nodes.add(node);
firePropertyChange("nodeElementAdd", null, node);
}
public void removeNodeElement(NodeElement node) {
nodes.remove(node);
firePropertyChange("nodeElementRemove", node, null);
}
public NodeElement[] getNodeElements() {
return (NodeElement[])nodes.toArray(new NodeElement[nodes.size()]);
}
public boolean canAdd(AbstractNode node) {
return !nodes.contains(node) && node.isPossibleChildOf(this);
}
public NodeElement getNodeElementByName(String name) {
NodeElement[] nodeElements = getNodeElements();
for (int i = 0; i < nodeElements.length; i++) {
if (nodeElements[i].getName().equals(name)) {
return nodeElements[i];
}
}
return null;
}
public boolean canAdd(NodeElement node) {
return true;
}
}