--- /dev/null
+package org.simantics.xml.sax;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+/**
+ * Creates a SCL module for Java combination class.
+ *
+ * @see org.simantics.xml.sax.OntologyCombinator
+ *
+ * @author luukkainen
+ *
+ */
+public class SCLCombinator extends OntologyCombinator{
+
+ @Override
+ public void combine(File[] inputFiles, File outputFile) throws IOException {
+ super.process(inputFiles);
+
+ PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(outputFile)));
+ String className = outputFile.getName();
+ int dp = className.indexOf(".");
+ if (dp > 0)
+ className = className.substring(0,dp);
+
+ try {
+ writer.println("import \"Simantics/DB\"");
+ writer.println();
+ writer.println("importJava \"" + packageLine.substring(packageLineStart.length()+1,packageLine.length()-1) + "." + className + "\" where");
+ writer.println(" data " + className);
+ writer.println(" ");
+ writer.println(" @JavaName getOntology");
+ writer.println(" getOntology :: Resource -> <ReadGraph> Maybe " + className);
+ writer.println(" ");
+ for (String s : sortedResourcses) {
+ writer.println(" @JavaName "+s);
+ writer.println(" "+s+" :: " + className + " -> Maybe Resource");
+ writer.println(" ");
+ }
+
+ } finally {
+ writer.close();
+ }
+ }
+
+}