package com.easyagents.federation.sql.source;

import java.io.Serializable;

/**
 * 节点间可传递的逻辑数据源标识。
 *
 * @param value 非空逻辑标识
 */
public record SourceId(String value) implements Serializable {

    /**
     * 校验并创建数据源标识。
     */
    public SourceId {
        if (value == null || value.isBlank()) {
            throw new IllegalArgumentException("source id must not be blank");
        }
    }

    /**
     * 返回标识文本。
     *
     * @return 标识文本
     */
    @Override
    public String toString() {
        return value;
    }
}
