package com.easyagents.federation.sql.execute;

import java.io.Serializable;
import java.util.UUID;

/**
 * 节点本地查询标识。
 *
 * @param value 查询标识文本
 */
public record QueryId(String value) implements Serializable {

    /**
     * 校验查询标识。
     */
    public QueryId {
        if (value == null || value.isBlank()) {
            throw new IllegalArgumentException("query id must not be blank");
        }
    }

    /**
     * 创建随机查询标识。
     *
     * @return 查询标识
     */
    public static QueryId create() {
        return new QueryId(UUID.randomUUID().toString());
    }
}
