X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fexecution%2FExecutionFlow.java;fp=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fexecution%2FExecutionFlow.java;h=c3de07b78efe96a45c82f7347d9813ecc6b46a01;hb=09c9e5093fe1353aaac344ac8a8caf2e1dcc0778;hp=0000000000000000000000000000000000000000;hpb=8ff996a3380166be2ae9cf0ef0fa22c58e11746a;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionFlow.java b/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionFlow.java new file mode 100644 index 000000000..c3de07b78 --- /dev/null +++ b/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionFlow.java @@ -0,0 +1,33 @@ +package org.argeo.api.slc.execution; + +import java.util.Iterator; + +/** Abstraction of an execution that can be identified and configured. */ +public interface ExecutionFlow extends Runnable { + /** Retrieve an immutable parameter */ + public Object getParameter(String key); + + /** Whether this immutable parameter is set */ + public Boolean isSetAsParameter(String key); + + /** The specifications of the execution flow. */ + public ExecutionSpec getExecutionSpec(); + + /** + * List sub-runnables that would be executed if run() method would be + * called. + */ + public Iterator runnables(); + + /** + * If there is one and only one runnable wrapped return it, throw an + * exception otherwise. + */ + public Runnable getRunnable(); + + /** + * The name of this execution flow. Can contains '/' which will be + * interpreted by UIs as a hierarchy; + */ + public String getName(); +}