package com.persagy.dmp.rwd.parser.service.impl;

import cn.hutool.core.util.StrUtil;
import com.persagy.dmp.common.exception.BusinessException;
import com.persagy.dmp.rwd.parser.entity.ParserResult;

import java.io.IOException;

/**
 * 布尔信息点 处理器
 * @author Charlie Yu
 * @date 2021-07-12
 */
public class BooleanInfoParser extends AbstractInfoDataParser {

    @Override
    protected void validateDefine(ParserResult result) {
        // 不支持区间格式
        if(result.isRegion()) {
            throw new BusinessException(StrUtil.format("信息点[{}]定义有误，Boolean类型不允许定义区间！", result.getInfoDefine().getCode()));
        }
    }

    @Override
    protected void validateValue(ParserResult result) throws IOException {
        // 复数
        if(result.isMulti()) {
            formatListValue(result.getValueInfo(), Boolean.class);
        } else {
            // 单数
            formatValue(result.getValueInfo(), Boolean.class);
        }
    }
}
