package com.cf.imes.module.executor.util.file;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * 文件读取监听
 */
public class ExcelListener<T> extends AnalysisEventListener<T> {
    /**
     * 自定义用于暂时存储data
     * 可以通过实例获取该值
     */
    private List<T> dates = new ArrayList<>();

    private boolean flag = true;

    private Map<Integer, String> valueMap = new HashMap<>();


    @Override
    public void invoke(T t, AnalysisContext analysisContext) {
        // todo invoke
    }

    /**
     * 读取完后操作
     *
     * @param context
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // todo doAfterAllAnalysed
    }

    /**
     * 返回数据
     *
     * @return 返回读取的数据集合
     **/
    public List<T> getDates() {
        return dates;
    }

    /**
     * 返回读取结果
     *
     * @return 是否读取成功
     **/
    public boolean getFlag() {
        return flag;
    }

    /**
     * 返回错误信息
     *
     * @return String
     **/
    public Map<Integer, String> getValueMap() {
        return valueMap;
    }
}
