]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.api/src/org/argeo/slc/execution/ExecutionFlow.java
Upgrade all classpaths to Java 11
[gpl/argeo-slc.git] / org.argeo.slc.api / src / org / argeo / slc / execution / ExecutionFlow.java
1 package org.argeo.slc.execution;
2
3 import java.util.Iterator;
4
5 /** Abstraction of an execution that can be identified and configured. */
6 public interface ExecutionFlow extends Runnable {
7 /** Retrieve an immutable parameter */
8 public Object getParameter(String key);
9
10 /** Whether this immutable parameter is set */
11 public Boolean isSetAsParameter(String key);
12
13 /** The specifications of the execution flow. */
14 public ExecutionSpec getExecutionSpec();
15
16 /**
17 * List sub-runnables that would be executed if run() method would be
18 * called.
19 */
20 public Iterator<Runnable> runnables();
21
22 /**
23 * If there is one and only one runnable wrapped return it, throw an
24 * exception otherwise.
25 */
26 public Runnable getRunnable();
27
28 /**
29 * The name of this execution flow. Can contains '/' which will be
30 * interpreted by UIs as a hierarchy;
31 */
32 public String getName();
33 }