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

import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.persagy.dmp.common.exception.BusinessException;
import com.persagy.dmp.rwd.parser.entity.ParserResult;

import java.io.IOException;
import java.util.List;

/**
 * 附件信息点 处理器
 * @author Charlie Yu
 * @date 2021-07-12
 */
public class AttachmentInfoParser extends AbstractInfoDataParser {

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

    @Override
    protected void validateValue(ParserResult result) throws IOException{
        // 复数
        if(result.isMulti()) {
            List<ObjectNode> valueList = formatListValue(result.getValueInfo(), ObjectNode.class);
        } else {
            // 单数
            ObjectNode value = formatValue(result.getValueInfo(), ObjectNode.class);
        }
    }
}
