package org.jbpm.gd.jpdl.model;
import java.util.ArrayList;
import java.util.List;
public class ProcessState extends AbstractAsyncableTimerNode implements VariableContainer {
private SubProcess subProcess;
private List variables = new ArrayList();
public void setSubProcess(SubProcess newSubProcess) {
SubProcess oldSubProcess = subProcess;
subProcess = newSubProcess;
firePropertyChange("subProcess", oldSubProcess, newSubProcess);
}
public SubProcess getSubProcess() {
if (subProcess == null) {
subProcess = (SubProcess)getFactory().createById("org.jbpm.gd.jpdl.subprocess");
}
return subProcess;
}
public void addVariable(Variable variable) {
variables.add(variable);
firePropertyChange("variableAdd", null, variable);
}
public void removeVariable(Variable variable) {
variables.remove(variable);
firePropertyChange("variableRemove", variable, null);
}
public Variable[] getVariables() {
return (Variable[])variables.toArray(new Variable[variables.size()]);
}
}