package org.lazydoc.printer; import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.lazydoc.config.PrinterConfig; import org.lazydoc.model.DocDataType; import org.lazydoc.model.DocDomain; import org.lazydoc.model.DocError; import java.io.File; import java.io.IOException; import java.nio.charset.Charset; import java.util.*; public abstract class DocumentationPrinter { private Logger log = LogManager.getLogger(this.getClass()); protected Map<String, String> files = new TreeMap<String, String>(); protected PrinterConfig printerConfig; public abstract void print(PrinterConfig printerConfig) throws Exception; protected void writeFiles(String target) throws IOException { for (String filename : files.keySet()) { File file = new File(target + filename); file.getParentFile().mkdirs(); log.info("Writing file " + file.getAbsolutePath()); FileUtils.write(file, files.get(filename), Charset.forName("UTF-8")); } } }