package com.njcn.gather.icd.mapping.component;

import com.njcn.gather.icd.mapping.pojo.bo.icd.IcdDocument;
import com.njcn.gather.icd.mapping.infrastructure.parser.SclParserAdapter;
import org.springframework.stereotype.Service;

/**
 * ICD 解析服务。
 * ICD 解析领域服务门面。对应用层隐藏底层 JAXB 解析细节。
 */
@Service
public class IcdParserService {

    /** SCL 底层解析适配器，封装 JAXB generated 模型处理。 */
    private final SclParserAdapter parserAdapter;

    public IcdParserService(SclParserAdapter parserAdapter) {
        this.parserAdapter = parserAdapter;
    }

    /**
     * 解析 ICD 文件内容为模块内部统一领域模型。
     */
    public IcdDocument parse(byte[] bytes, String fileName) {
        return parserAdapter.parse(bytes, fileName);
    }
}