]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/ModuleSource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / source / ModuleSource.java
diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/ModuleSource.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/ModuleSource.java
new file mode 100644 (file)
index 0000000..1287771
--- /dev/null
@@ -0,0 +1,19 @@
+package org.simantics.scl.compiler.source;
+
+import org.simantics.scl.compiler.errors.Failable;
+import org.simantics.scl.compiler.module.Module;
+import org.simantics.scl.compiler.module.options.ModuleCompilationOptions;
+import org.simantics.scl.compiler.module.repository.ModuleRepository;
+import org.simantics.scl.compiler.module.repository.UpdateListener;
+
+/**
+ * ModuleSource is a recipe for creating a module in a given environment.
+ * 
+ * @author Hannu Niemistö
+ */
+public interface ModuleSource {
+    String getModuleName();
+    ClassLoader getClassLoader();
+    Failable<Module> compileModule(ModuleRepository environment, UpdateListener listener, ModuleCompilationOptions options);
+    double getPriority();
+}