]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/src/org/simantics/modeling/IComponentTypeScriptEnvironmentFactory.java
Sync git svn branch with SVN repository r33366.
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / IComponentTypeScriptEnvironmentFactory.java
1 package org.simantics.modeling;\r
2 \r
3 import java.util.Set;\r
4 \r
5 import org.simantics.db.ReadGraph;\r
6 import org.simantics.db.Resource;\r
7 import org.simantics.db.exception.DatabaseException;\r
8 import org.simantics.scl.compiler.environment.LocalEnvironment;\r
9 import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification;\r
10 \r
11 public interface IComponentTypeScriptEnvironmentFactory {\r
12 \r
13     /**\r
14      * Return the EnvironmentSpecification used to initialize the runtime environment for this script\r
15      * \r
16      * @param graph\r
17      * @param componentType\r
18      * @return the runtime enviroment\r
19      * @throws DatabaseException\r
20      */\r
21     public EnvironmentSpecification getRuntimeEnvironmentSpecification(ReadGraph graph, Resource componentType) throws DatabaseException;\r
22     \r
23     /**\r
24      * Return a local environment for this script if one is needed\r
25      * \r
26      * @param graph\r
27      * @param componentType\r
28      * @return the local environment or null\r
29      * @throws DatabaseException\r
30      */\r
31     public LocalEnvironment getLocalEnvironment(ReadGraph graph, Resource componentType) throws DatabaseException;\r
32     \r
33     /**\r
34      * Get the set of all modules the local environment returned by getLocalEnvironment reads from\r
35      * \r
36      * @param environment\r
37      * @return a set of module names or null\r
38      */\r
39     public Set<String> getModuleReads(LocalEnvironment environment);\r
40     \r
41     /**\r
42      * Get the set of all modules the local environment returned by getLocalEnvironment writes to\r
43      * \r
44      * @param environment\r
45      * @return a set of module names or null\r
46      */\r
47     public Set<String> getModuleWrites(LocalEnvironment environment);\r
48     \r
49 }\r