package org.kne.codec.kif;

/**
 * KIF 压缩模式统计收集器（线程安全）
 * 专门统计 KIFCompressMode 的出现次数与概率
 */
public class ModeStatisticsCollector extends StatisticsCollector<KIFCompressMode> {
    
    private static final ModeFormatter FORMATTER = new ModeFormatter();
    
    /**
     * 生成表格形式的统计报告
     */
    @Override
    public String toString() {
        return formatTable(FORMATTER);
    }
    
    /**
     * 生成 CSV 格式报告
     */
    public String toCSV() {
        return super.toCSV(FORMATTER);
    }
    
    /**
     * KIFCompressMode 格式化器
     */
    private static class ModeFormatter implements ItemFormatter<KIFCompressMode> {
        @Override
        public String format(KIFCompressMode mode) {
            return mode.toString();
        }
    }
}