package cn.report.excel.easyexcel.api.metadata;

import java.util.Map;

import cn.report.excel.easyexcel.api.converters.Converter;
import cn.report.excel.easyexcel.api.converters.ConverterKeyBuild.ConverterKey;

/**
 * Get the corresponding holder
 *
 * @author Jiaju Zhuang
 **/
public interface ConfigurationHolder extends Holder {

    /**
     * Record whether it's new or from cache
     *
     * @return Record whether it's new or from cache
     */
    boolean isNew();

    /**
     * Some global variables
     *
     * @return Global configuration
     */
    GlobalConfiguration globalConfiguration();

    /**
     * What converter does the currently operated cell need to execute
     *
     * @return Converter
     */
    Map<ConverterKey, Converter<?>> converterMap();
}
