package org.jbpm.gd.pf.model; import java.util.ArrayList; import java.util.List; public abstract class AbstractNodeElement extends AbstractNamedElement implements NodeElement { private List transitions = new ArrayList(); private String viewId; public void setViewId(String newViewId) { String oldViewId = this.viewId; this.viewId = newViewId; firePropertyChange("viewId", oldViewId, newViewId); } public String getViewId() { return viewId; } public void addTransition(Transition transition) { transitions.add(transition); firePropertyChange("transitionAdd", null, transition); } public void removeTransition(Transition transition) { transitions.remove(transition); firePropertyChange("transitionRemove", transition, null); } public Transition[] getTransitions() { return (Transition[])transitions.toArray(new Transition[transitions.size()]); } public void initializeName(PageFlowDefinition pageFlowDefinition) { int runner = 1; String prefix = getNamePrefix(); while (true) { String candidate = prefix + runner; if (pageFlowDefinition.getNodeElementByName(candidate) == null) { setName(candidate); return; } runner ++; } } }