X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fexecution%2FExecutionStack.java;fp=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fexecution%2FExecutionStack.java;h=468a04a48d124b3e36ffdd69346df2ce8590fdff;hb=09c9e5093fe1353aaac344ac8a8caf2e1dcc0778;hp=0000000000000000000000000000000000000000;hpb=8ff996a3380166be2ae9cf0ef0fa22c58e11746a;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionStack.java b/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionStack.java new file mode 100644 index 000000000..468a04a48 --- /dev/null +++ b/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionStack.java @@ -0,0 +1,23 @@ +package org.argeo.api.slc.execution; + +/** Deal with nested level of executions using different variables. */ +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); +}