package org.jbpm.gd.pf.model; import java.util.ArrayList; import java.util.List; public class PageFlowDefinition extends AbstractNamedElement { private StartPage startPage; private List nodeElements = new ArrayList(); public void addStartPage(StartPage startPage) { if (this.startPage != null) return; this.startPage = startPage; nodeElements.add(0, startPage); firePropertyChange("startPageAdd", null, startPage); } public void removeStartPage(StartPage startPage) { if (this.startPage != startPage) return; this.startPage = null; nodeElements.remove(0); firePropertyChange("startPageRemove", startPage, null); } public StartPage getStartPage() { return startPage; } public void addNodeElement(NodeElement nodeElement) { nodeElements.add(nodeElement); firePropertyChange("nodeElementAdd", null, nodeElement); } public void removeNodeElement(NodeElement nodeElement) { nodeElements.remove(nodeElement); firePropertyChange("nodeElementRemove", nodeElement, null); } public NodeElement[] getNodeElements() { return (NodeElement[])nodeElements.toArray(new NodeElement[nodeElements.size()]); } public NodeElement getNodeElementByName(String name) { if (name == null) return null; NodeElement[] nodeElements = getNodeElements(); for (int i = 0; i < nodeElements.length; i++) { if (name.equals(nodeElements[i].getName())) { return nodeElements[i]; } } return null; } }