1 package org.simantics.modeling;
\r
3 import java.util.Set;
\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
11 public interface IComponentTypeScriptEnvironmentFactory {
\r
14 * Return the EnvironmentSpecification used to initialize the runtime environment for this script
\r
17 * @param componentType
\r
18 * @return the runtime enviroment
\r
19 * @throws DatabaseException
\r
21 public EnvironmentSpecification getRuntimeEnvironmentSpecification(ReadGraph graph, Resource componentType) throws DatabaseException;
\r
24 * Return a local environment for this script if one is needed
\r
27 * @param componentType
\r
28 * @return the local environment or null
\r
29 * @throws DatabaseException
\r
31 public LocalEnvironment getLocalEnvironment(ReadGraph graph, Resource componentType) throws DatabaseException;
\r
34 * Get the set of all modules the local environment returned by getLocalEnvironment reads from
\r
36 * @param environment
\r
37 * @return a set of module names or null
\r
39 public Set<String> getModuleReads(LocalEnvironment environment);
\r
42 * Get the set of all modules the local environment returned by getLocalEnvironment writes to
\r
44 * @param environment
\r
45 * @return a set of module names or null
\r
47 public Set<String> getModuleWrites(LocalEnvironment environment);
\r