package ee.telekom.workflow.graph.node.gateway; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.tuple.Pair; import ee.telekom.workflow.graph.node.gateway.condition.Condition; /** * Abstract gateway that is providing common functionality for gateways * that support conditional transitions. */ public abstract class AbstractConditionalGateway extends AbstractGateway{ private List<Pair<Condition, String>> conditions = new ArrayList<Pair<Condition, String>>(); public AbstractConditionalGateway( int id ){ super( id ); } public AbstractConditionalGateway( int id, String name ){ super( id, name ); } public List<Pair<Condition, String>> getConditions(){ return conditions; } /** * A <code>null</code> condition is interpreted as a <i>default</i> condition. */ public void addCondition( Condition condition, String transitionName ){ conditions.add( Pair.of( condition, transitionName ) ); } }