package com.lingyue.extract.dto.config;

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

import java.util.List;

/**
 * 自引用来源配置
 * 
 * 用于 sourceType = "self_reference" 的规则
 * 引用已提取的其他字段值
 * 
 * @author lingyue
 * @since 2026-01-22
 */
@Data
@Schema(description = "自引用来源配置")
public class SelfReferenceSourceConfig {
    
    @Schema(description = "引用的字段Key列表")
    private List<String> referenceFieldKeys;
    
    @Schema(description = "组合模板，如 '{project_name} - {project_code}'")
    private String combineTemplate;
    
    @Schema(description = "值转换配置")
    private TransformConfig transform;
    
    @Schema(description = "当引用字段为空时的默认值")
    private String defaultValue;
    
    @Schema(description = "是否必须所有引用字段都有值")
    private Boolean requireAll;
}
