/* * WorkflowDefinition.java * * Version 1.0 Jul 3, 2008 * * Copyright notice * * Brief description * * (c) 2008 by dbreuer */ package de.fhkoeln.cosima.workflow; import java.util.Iterator; import java.util.Set; /** * The Interface for accessing a WorkflowDefinition instance from a client. * * @author Dirk Breuer * @version 1.0 Jul 3, 2008 */ public interface WorkflowDefinition { /** * @return The amount of containing Workflow Elements. */ public int size(); /** * Every workflow consists of a certain number of elements, which must be * processed in a certain order. In addition to this on every step in that * processing chain there could be elements which do not depend on each other * and so are not required to be run in a certain order, but must be run * within that very step. This method will return an iterator of the type * {@link WorkflowDefinitionIterator} to provide the described functionality * to the using client. * * @return The Iterator for all the containing elements. */ public Iterator<Set<WorkflowElement>> elementsIterator(); }