package com.njcn.gather.icd.mapping.pojo.dto;

import lombok.Data;
import com.njcn.gather.icd.mapping.pojo.bo.icd.IcdDocument;

import java.util.ArrayList;
import java.util.List;

/**
 * ICD 映射生成命令。
 *
 * 用于隔离接口层参数，便于应用层统一编排生成流程。
 */
@Data
public class GenerateFromIcdCommand {

    /** 原始文件名。 */
    private String fileName;

    /** ICD 文件字节数组。 */
    private byte[] fileBytes;

    /** 前端确认或修改后的 ICD 解析结果。 */
    private IcdDocument icdDocument;

    /** 输出版本号。 */
    private String version;

    /** 作者。 */
    private String author;

    /** 是否保存到磁盘。 */
    private boolean saveToDisk;

    /** 是否输出美化 JSON。 */
    private boolean prettyJson;

    /** 输出目录。 */
    private String outputDir;

    /** 用户提交的索引选择结果。 */
    private List<IndexSelectionGroupCommand> indexSelection = new ArrayList<IndexSelectionGroupCommand>();
}