package org.lemsml.javagen; import java.io.File; import java.io.IOException; import java.util.ArrayList; import org.lemsml.jlems.core.codger.StateTypeGenerator; import org.lemsml.jlems.core.codger.metaclass.CodeUnit; import org.lemsml.jlems.core.logging.E; import org.lemsml.jlems.io.util.FileUtil; public class JavaGenerator { public JavaGenerator() { } public void writeSourceFiles(File destdir, StateTypeGenerator stg) throws IOException { for (CodeUnit mc : stg.getCodeUnits()) { String src = mc.generateJava(); File wkdest = destdir; ArrayList<String> subps = mc.getSubPackages(); for (String sp : subps) { wkdest = new File(wkdest, sp); wkdest.mkdirs(); } File fdest = new File(wkdest, mc.getClassName() + ".java"); FileUtil.writeStringToFile(src, fdest); E.info("Written " + fdest.getAbsolutePath()); } } }