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

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 索引确认模型中的单个 label 响应项。
 */
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@ApiModel("索引确认模型中的单个 label 响应项")
public class IndexConfirmLabelItemResponse {

    /** 模板标签。 */
    @ApiModelProperty("模板标签")
    private String label;

    /** 是否必配。 */
    @ApiModelProperty("是否必配")
    private boolean required;

    /** 是否支持一次配置后展开到多个报告。 */
    @ApiModelProperty("是否支持一次配置后展开到多个报告")
    private boolean configurableOnce;

    /** 所有目标报告共同支持的 lnInst 候选值。 */
    @ApiModelProperty("所有目标报告共同支持的 lnInst 候选值")
    private List<String> commonLnInstValues = new ArrayList<String>();

    /** 候选值唯一时的默认 lnInst。 */
    @ApiModelProperty("候选值唯一时的默认 lnInst")
    private String defaultLnInst;

    /** 当前 label 影响的全部目标报告。 */
    @ApiModelProperty("当前 label 影响的全部目标报告")
    private List<IndexConfirmTargetResponse> targets = new ArrayList<IndexConfirmTargetResponse>();
}
