All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.duoec.doc.utils.ExportUtils Maven / Gradle / Ivy

package com.duoec.doc.utils;

import com.duoec.doc.DuoDocletConfig;
import com.duoec.doc.constants.DuoDocletConstants;
import com.duoec.doc.exceptions.DuoDocException;
import com.duoec.doc.export.*;

import java.util.HashMap;
import java.util.Map;

/**
 * @author xuwenzhen
 */
public class ExportUtils {
    private static final Map EXPORTER_MAP = new HashMap<>();

    static {
        // 注册导出器
        register(new ConsoleExporter());
        register(new JsonExporter());
        register(new ServerExporter());
        register(new JavaSerializeExporter());
    }

    private ExportUtils() {

    }

    /**
     * 注册导出器
     *
     * @param exporter 导出器
     */
    public static void register(Exporter exporter) {
        EXPORTER_MAP.put(exporter.exporterName(), exporter);
    }

    /**
     * 导出
     * 导出程序配置 DocletConfig.exporter配置进行导出
     */
    public static void export() {
        String[] exportList = DuoDocletConfig.exporter.split(DuoDocletConstants.SEMICOLON_STRING);
        for (String exportName : exportList) {
            Exporter export = EXPORTER_MAP.get(exportName.trim());
            if (export == null) {
                throw new DuoDocException("未找到导出适配器:" + DuoDocletConfig.exporter);
            }
            export.export();
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy