]> git.argeo.org Git - gpl/argeo-slc.git/blob - ExecutionStack.java
64cc3a8c50d59e1709eb50a7b37c37c83f716940
[gpl/argeo-slc.git] / ExecutionStack.java
1 /*
2 * Copyright (C) 2007-2012 Argeo GmbH
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.slc.execution;
17
18 /** Deal with nested level of executions using different variables. */
19 public interface ExecutionStack {
20 /**
21 * @param name
22 * @return null if no object is found
23 */
24 public Object findScopedObject(String name);
25
26 public void addScopedObject(String name, Object obj);
27
28 public void enterFlow(ExecutionFlow executionFlow);
29
30 /** @return internal stack level UUID. */
31 public String getCurrentStackLevelUuid();
32
33 public Integer getStackSize();
34
35 public void leaveFlow(ExecutionFlow executionFlow);
36
37 Object findLocalVariable(String key);
38 }