// Path: src/main/java/com/wind/common/Constants.java
// public interface Constants {
// 
//     /**********************************************分隔符常量************************************************/
// 
//     String POINT_STR = ".";
// 
//     String BLANK_STR = "";
// 
//     String SPACE_STR = " ";
// 
//     String NEWLINE_STR = "\n";
// 
//     String SYS_SEPARATOR = File.separator;
// 
//     String FILE_SEPARATOR = "/";
// 
//     String BRACKET_LEFT = "[";
// 
//     String BRACKET_RIGHT = "]";
// 
//     String UNDERLINE = "_";
// 
//     String MINUS_STR = "-";
// 
// 
// 
//     /**********************************************编码格式************************************************/
// 
//     String UTF8 = "UTF-8";
// 
// 
//     /**********************************************文件后缀************************************************/
// 
//     String EXCEL_XLS = ".xls";
// 
//     String EXCEL_XLSX = ".xlsx";
// 
//     String IMAGE_PNG = "png";
// 
//     String IMAGE_JPG = "jpg";
// 
//     String FILE_ZIP = ".zip";
//     String FILE_GZ = ".gz";
// 
// 
//     /**********************************************io流************************************************/
// 
//     int BUFFER_1024 = 1024;
// 
//     int BUFFER_512 = 512;
// 
//     String USER_DIR = "user.dir";
// 
//     /**********************************************tesseract for java语言字库************************************************/
// 
//     String ENG = "eng";
// 
//     String CHI_SIM = "chi_sim";
// 
// 
//     /**********************************************opencv************************************************/
//     String OPENCV_LIB_NAME_246 = "libs/x64/opencv_java246";
// 
//     String OPENCV_LIB_NAME_330 = "libs/x64/opencv_java330";
// }


import com.wind.common.Constants;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
package com.wind.ftl;





/**
 * freeMarker工具生成类
 * @author wind
 */
public class FtlUtil {

    /**
     * 生成文件
     * @param freeMarker
     */
    public static void genCode(FreeMarker freeMarker){
        String fileDir = freeMarker.getFileDir();
        String fileName = freeMarker.getFileName();
        try(
            OutputStream fos = new FileOutputStream( new File(fileDir, fileName));
            Writer out = new OutputStreamWriter(fos)
        ) {
            File dir = new File(fileDir);
            boolean sign = true;
            if(!dir.exists()){
                sign = dir.mkdirs();
            }

            if(sign){
                Configuration cfg = new Configuration(Configuration.VERSION_2_3_22);
                cfg.setDirectoryForTemplateLoading(new File(freeMarker.getCfgDir()));
// Path: src/main/java/com/wind/common/Constants.java
// public interface Constants {
// 
//     /**********************************************分隔符常量************************************************/
// 
//     String POINT_STR = ".";
// 
//     String BLANK_STR = "";
// 
//     String SPACE_STR = " ";
// 
//     String NEWLINE_STR = "\n";
// 
//     String SYS_SEPARATOR = File.separator;
// 
//     String FILE_SEPARATOR = "/";
// 
//     String BRACKET_LEFT = "[";
// 
//     String BRACKET_RIGHT = "]";
// 
//     String UNDERLINE = "_";
// 
//     String MINUS_STR = "-";
// 
// 
// 
//     /**********************************************编码格式************************************************/
// 
//     String UTF8 = "UTF-8";
// 
// 
//     /**********************************************文件后缀************************************************/
// 
//     String EXCEL_XLS = ".xls";
// 
//     String EXCEL_XLSX = ".xlsx";
// 
//     String IMAGE_PNG = "png";
// 
//     String IMAGE_JPG = "jpg";
// 
//     String FILE_ZIP = ".zip";
//     String FILE_GZ = ".gz";
// 
// 
//     /**********************************************io流************************************************/
// 
//     int BUFFER_1024 = 1024;
// 
//     int BUFFER_512 = 512;
// 
//     String USER_DIR = "user.dir";
// 
//     /**********************************************tesseract for java语言字库************************************************/
// 
//     String ENG = "eng";
// 
//     String CHI_SIM = "chi_sim";
// 
// 
//     /**********************************************opencv************************************************/
//     String OPENCV_LIB_NAME_246 = "libs/x64/opencv_java246";
// 
//     String OPENCV_LIB_NAME_330 = "libs/x64/opencv_java330";
// }


// Path: src/main/java/com/wind/ftl/FtlUtil.java
import com.wind.common.Constants;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
import java.io.*;
import java.util.HashMap;
import java.util.Map;

package com.wind.ftl;





/**
 * freeMarker工具生成类
 * @author wind
 */
public class FtlUtil {

    /**
     * 生成文件
     * @param freeMarker
     */
    public static void genCode(FreeMarker freeMarker){
        String fileDir = freeMarker.getFileDir();
        String fileName = freeMarker.getFileName();
        try(
            OutputStream fos = new FileOutputStream( new File(fileDir, fileName));
            Writer out = new OutputStreamWriter(fos)
        ) {
            File dir = new File(fileDir);
            boolean sign = true;
            if(!dir.exists()){
                sign = dir.mkdirs();
            }

            if(sign){
                Configuration cfg = new Configuration(Configuration.VERSION_2_3_22);
                cfg.setDirectoryForTemplateLoading(new File(freeMarker.getCfgDir()));
                cfg.setDefaultEncoding(Constants.UTF8);