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

io.gitee.ludii.excel.converts.DefaultConverterLoader Maven / Gradle / Ivy

package io.gitee.ludii.excel.converts;


import io.gitee.ludii.excel.converts.bigdecimal.BigDecimalBooleanReadConverter;
import io.gitee.ludii.excel.converts.bigdecimal.BigDecimalNumberReadConverter;
import io.gitee.ludii.excel.converts.bigdecimal.BigDecimalStringReadConverter;
import io.gitee.ludii.excel.converts.biginteger.BigIntegerBooleanReadConverter;
import io.gitee.ludii.excel.converts.biginteger.BigIntegerNumberReadConverter;
import io.gitee.ludii.excel.converts.biginteger.BigIntegerStringReadConverter;
import io.gitee.ludii.excel.converts.booleanconverter.BooleanBooleanReadConverter;
import io.gitee.ludii.excel.converts.booleanconverter.BooleanNumberReadConverter;
import io.gitee.ludii.excel.converts.booleanconverter.BooleanStringReadConverter;
import io.gitee.ludii.excel.converts.byteconverter.ByteBooleanReadConverter;
import io.gitee.ludii.excel.converts.byteconverter.ByteNumberReadConverter;
import io.gitee.ludii.excel.converts.byteconverter.ByteStringReadConverter;
import io.gitee.ludii.excel.converts.date.DateDateWriteConverter;
import io.gitee.ludii.excel.converts.date.DateNumberReadConverter;
import io.gitee.ludii.excel.converts.date.DateStringReadConverter;
import io.gitee.ludii.excel.converts.doubleconverter.DoubleBooleanReadConverter;
import io.gitee.ludii.excel.converts.doubleconverter.DoubleNumberReadConverter;
import io.gitee.ludii.excel.converts.doubleconverter.DoubleStringReadConverter;
import io.gitee.ludii.excel.converts.floatconverter.FloatBooleanReadConverter;
import io.gitee.ludii.excel.converts.floatconverter.FloatNumberReadConverter;
import io.gitee.ludii.excel.converts.floatconverter.FloatStringReadConverter;
import io.gitee.ludii.excel.converts.integer.IntegerBooleanReadConverter;
import io.gitee.ludii.excel.converts.integer.IntegerNumberReadConverter;
import io.gitee.ludii.excel.converts.integer.IntegerStringReadConverter;
import io.gitee.ludii.excel.converts.localdate.LocalDateDateWriteConverter;
import io.gitee.ludii.excel.converts.localdate.LocalDateNumberReadConverter;
import io.gitee.ludii.excel.converts.localdate.LocalDateStringReadConverter;
import io.gitee.ludii.excel.converts.localdatetime.LocalDateTimeDateWriteConverter;
import io.gitee.ludii.excel.converts.localdatetime.LocalDateTimeNumberReadConverter;
import io.gitee.ludii.excel.converts.localdatetime.LocalDateTimeStringReadConverter;
import io.gitee.ludii.excel.converts.longconverter.LongBooleanReadConverter;
import io.gitee.ludii.excel.converts.longconverter.LongNumberReadConverter;
import io.gitee.ludii.excel.converts.longconverter.LongStringReadConverter;
import io.gitee.ludii.excel.converts.objects.ObjectBooleanReadConverter;
import io.gitee.ludii.excel.converts.objects.ObjectNumberReadConverter;
import io.gitee.ludii.excel.converts.objects.ObjectStringReadConverter;
import io.gitee.ludii.excel.converts.shortconverter.ShortBooleanReadConverter;
import io.gitee.ludii.excel.converts.shortconverter.ShortNumberReadConverter;
import io.gitee.ludii.excel.converts.shortconverter.ShortStringReadConverter;
import io.gitee.ludii.excel.converts.string.StringBooleanReadConverter;
import io.gitee.ludii.excel.converts.string.StringErrorReadConverter;
import io.gitee.ludii.excel.converts.string.StringNumberReadConverter;
import io.gitee.ludii.excel.converts.string.StringStringReadConverter;

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

/**
 * Load default handler
 *
 * @author Jiaju Zhuang
 */
public class DefaultConverterLoader {
    private static Map> allReadConverter;

    private static Map> allWriteConverter;

    static {
        initAllConverter();
    }

    private static void initAllConverter() {
        initAllReadConverter();
        initAllWriteConverter();

    }

    private static void initAllReadConverter() {
        allReadConverter = new HashMap<>(64);
        putAllReadConverter(new BigDecimalBooleanReadConverter());
        putAllReadConverter(new BigDecimalNumberReadConverter());
        putAllReadConverter(new BigDecimalStringReadConverter());

        putAllReadConverter(new BigIntegerBooleanReadConverter());
        putAllReadConverter(new BigIntegerNumberReadConverter());
        putAllReadConverter(new BigIntegerStringReadConverter());

        putAllReadConverter(new BooleanBooleanReadConverter());
        putAllReadConverter(new BooleanNumberReadConverter());
        putAllReadConverter(new BooleanStringReadConverter());

        putAllReadConverter(new ByteBooleanReadConverter());
        putAllReadConverter(new ByteNumberReadConverter());
        putAllReadConverter(new ByteStringReadConverter());

        putAllReadConverter(new DateNumberReadConverter());
        putAllReadConverter(new DateStringReadConverter());


        putAllReadConverter(new DoubleBooleanReadConverter());
        putAllReadConverter(new DoubleNumberReadConverter());
        putAllReadConverter(new DoubleStringReadConverter());

        putAllReadConverter(new FloatBooleanReadConverter());
        putAllReadConverter(new FloatNumberReadConverter());
        putAllReadConverter(new FloatStringReadConverter());

        putAllReadConverter(new IntegerBooleanReadConverter());
        putAllReadConverter(new IntegerNumberReadConverter());
        putAllReadConverter(new IntegerStringReadConverter());

        putAllReadConverter(new LocalDateNumberReadConverter());
        putAllReadConverter(new LocalDateStringReadConverter());

        putAllReadConverter(new LocalDateTimeNumberReadConverter());
        putAllReadConverter(new LocalDateTimeStringReadConverter());

        putAllReadConverter(new LongBooleanReadConverter());
        putAllReadConverter(new LongNumberReadConverter());
        putAllReadConverter(new LongStringReadConverter());

        putAllReadConverter(new ObjectBooleanReadConverter());
        putAllReadConverter(new ObjectNumberReadConverter());
        putAllReadConverter(new ObjectStringReadConverter());

        putAllReadConverter(new ShortBooleanReadConverter());
        putAllReadConverter(new ShortNumberReadConverter());
        putAllReadConverter(new ShortStringReadConverter());

        putAllReadConverter(new StringBooleanReadConverter());
        putAllReadConverter(new StringNumberReadConverter());
        putAllReadConverter(new StringStringReadConverter());
        putAllReadConverter(new StringErrorReadConverter());

    }

    private static void initAllWriteConverter() {
        allWriteConverter = new HashMap<>(64);
        putAllWriteConverter(new BigDecimalBooleanReadConverter());
        putAllWriteConverter(new BigDecimalNumberReadConverter());
        putAllWriteConverter(new BigDecimalStringReadConverter());

        putAllWriteConverter(new BigIntegerBooleanReadConverter());
        putAllWriteConverter(new BigIntegerNumberReadConverter());
        putAllWriteConverter(new BigIntegerStringReadConverter());

        putAllWriteConverter(new BooleanBooleanReadConverter());
        putAllWriteConverter(new BooleanNumberReadConverter());
        putAllWriteConverter(new BooleanStringReadConverter());

        putAllWriteConverter(new ByteBooleanReadConverter());
        putAllWriteConverter(new ByteNumberReadConverter());
        putAllWriteConverter(new ByteStringReadConverter());

        putAllWriteConverter(new DateDateWriteConverter());
        putAllWriteConverter(new DateNumberReadConverter());
        putAllWriteConverter(new DateStringReadConverter());


        putAllWriteConverter(new DoubleBooleanReadConverter());
        putAllWriteConverter(new DoubleNumberReadConverter());
        putAllWriteConverter(new DoubleStringReadConverter());

        putAllWriteConverter(new FloatBooleanReadConverter());
        putAllWriteConverter(new FloatNumberReadConverter());
        putAllWriteConverter(new FloatStringReadConverter());

        putAllWriteConverter(new IntegerBooleanReadConverter());
        putAllWriteConverter(new IntegerNumberReadConverter());
        putAllWriteConverter(new IntegerStringReadConverter());

        putAllWriteConverter(new LocalDateDateWriteConverter());
        putAllWriteConverter(new LocalDateNumberReadConverter());
        putAllWriteConverter(new LocalDateStringReadConverter());

        putAllWriteConverter(new LocalDateTimeDateWriteConverter());
        putAllWriteConverter(new LocalDateTimeNumberReadConverter());
        putAllWriteConverter(new LocalDateTimeStringReadConverter());

        putAllWriteConverter(new LongBooleanReadConverter());
        putAllWriteConverter(new LongNumberReadConverter());
        putAllWriteConverter(new LongStringReadConverter());

        putAllWriteConverter(new ObjectBooleanReadConverter());
        putAllWriteConverter(new ObjectNumberReadConverter());
        putAllWriteConverter(new ObjectStringReadConverter());

        putAllWriteConverter(new ShortBooleanReadConverter());
        putAllWriteConverter(new ShortNumberReadConverter());
        putAllWriteConverter(new ShortStringReadConverter());

        putAllWriteConverter(new StringBooleanReadConverter());
        putAllWriteConverter(new StringNumberReadConverter());
        putAllWriteConverter(new StringStringReadConverter());
        putAllWriteConverter(new StringErrorReadConverter());

    }

    /**
     * Load all converter
     */
    public static Map> loadAllReadConverter() {
        return allReadConverter;
    }

    public static Map> loadAllWriteConverter() {
        return allWriteConverter;
    }

    private static void putAllReadConverter(ReadConverter readConverter) {
        allReadConverter.put(ConverterKeyBuild.buildKey(readConverter.supportJavaTypeKey(), readConverter.supportExcelTypeKey()),
                readConverter);
    }

    private static void putAllWriteConverter(WriteConverter writeConverter) {
        allWriteConverter.put(ConverterKeyBuild.buildKey(writeConverter.supportJavaTypeKey(), writeConverter.supportExcelTypeKey()),
                writeConverter);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy