writerfactory.java

来自「Excel Report是一款基于Excel的报表生成工具」· Java 代码 · 共 50 行

JAVA
50
字号
/***********************************************************************
 * Module:  ReportWriterFactory.java
 * Author:  
 * Created: 1970年1月1日 8:00:00
 * Purpose: Defines the Class ReportWriterFactory
 ***********************************************************************/

package net.excel.report;

import net.excel.report.base.IReportWriter;
import net.excel.report.config.ReportConfig;
import net.excel.report.config.ReportConfig.SheetConfig;
import net.excel.report.impl.CardStyleReportWriterImpl;
import net.excel.report.impl.ListStyleReportWriterImpl;

/**
 * 报表读写对象生成工厂,该工厂对象通过读取当前报表的配置信息而生成相应的报表生成器。
 * @author juny
 */
public class WriterFactory {
    /**
     * 根据配置文件生成不同的报表读写对象
     * @param 	config 当前sheet对应的配置信息对象。
     * @return	返回一个报表生成器
     */
    public IReportWriter getReportWriter(SheetConfig config) {
        if(config.getReportStyle().equalsIgnoreCase(ReportConfig.REPORT_STYLE_CARD)){
            return new CardStyleReportWriterImpl();
        }
        
        if(config.getReportStyle().equalsIgnoreCase(ReportConfig.REPORT_STYLE_LIST)){
            return new ListStyleReportWriterImpl();
        }
        
        return null;
    }
    
    /**
     * 取得报表生成器工厂实例
     * @return	返回报表生成器工厂实例。
     */
    public static WriterFactory getWriterFactory(){
        if(null == factory){
            factory = new WriterFactory();
        }
        return factory;
    }
    
    private static WriterFactory factory = null;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?