Refactor Argeo API
[gpl/argeo-slc.git] / org.argeo.api.slc / src / org / argeo / api / slc / execution / ExecutionContext.java
diff --git a/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionContext.java b/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionContext.java
new file mode 100644 (file)
index 0000000..201f6e2
--- /dev/null
@@ -0,0 +1,20 @@
+package org.argeo.api.slc.execution;\r
+\r
+/** Variables or references attached to an execution (typically thread bounded).*/\r
+public interface ExecutionContext {\r
+       public final static String VAR_EXECUTION_CONTEXT_ID = "slcVar.executionContext.id";\r
+       public final static String VAR_EXECUTION_CONTEXT_CREATION_DATE = "slcVar.executionContext.creationDate";\r
+       public final static String VAR_FLOW_ID = "slcVar.flow.id";\r
+       public final static String VAR_FLOW_NAME = "slcVar.flow.name";\r
+\r
+       public String getUuid();\r
+\r
+       /** @return the variable value, or <code>null</code> if not found. */\r
+       public Object getVariable(String key);\r
+\r
+       public void setVariable(String key, Object value);\r
+       \r
+       public void beforeFlow(ExecutionFlow executionFlow);\r
+       \r
+       public void afterFlow(ExecutionFlow executionFlow);\r
+}\r