package com.lingyue.extract.dto.config;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * 引用来源配置
 * 
 * 用于 sourceType = "reference" 的变量
 * 引用其他已提取的变量值进行组合
 * 
 * @author lingyue
 * @since 2026-01-23
 */
@Data
@Schema(description = "引用来源配置")
public class ReferenceSourceConfig {
    
    @Schema(description = "引用的变量名列表")
    private List<String> referenceVariables;
    
    @Schema(description = "组合模板，如 '《{project_name}可行性研究报告》由{design_unit}编制'")
    private String combineTemplate;
    
    @Schema(description = "值转换配置")
    private TransformConfig transform;
    
    @Schema(description = "当引用变量为空时的默认值")
    private String defaultValue;
    
    @Schema(description = "是否要求所有引用变量都有值")
    private Boolean requireAll;
}
