]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionStack.java
Refactor runtime
[gpl/argeo-slc.git] / runtime / org.argeo.slc.specs / src / main / java / org / argeo / slc / execution / ExecutionStack.java
diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionStack.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionStack.java
new file mode 100644 (file)
index 0000000..48c7a94
--- /dev/null
@@ -0,0 +1,22 @@
+package org.argeo.slc.execution;
+
+public interface ExecutionStack {
+       /**
+        * @param name
+        * @return null if no object is found
+        */
+       public Object findScopedObject(String name);
+
+       public void addScopedObject(String name, Object obj);
+
+       public void enterFlow(ExecutionFlow executionFlow);
+
+       /** @return internal stack level UUID. */
+       public String getCurrentStackLevelUuid();
+
+       public Integer getStackSize();
+
+       public void leaveFlow(ExecutionFlow executionFlow);
+
+       Object findLocalVariable(String key);
+}