package com.easyagents.federation.sql.source;

import javax.sql.DataSource;

/**
 * 调用方提供的数据源运行句柄，明确表达连接池所有权与关闭语义。
 */
public interface FederationDataSourceHandle extends AutoCloseable {

    /**
     * 返回已配置的数据源或连接池。
     *
     * @return JDBC DataSource
     */
    DataSource dataSource();

    /**
     * 返回不含敏感信息的运行指纹。
     *
     * @return 运行指纹
     */
    RuntimeFingerprint fingerprint();

    /**
     * 按调用方声明的所有权规则关闭句柄。
     */
    @Override
    void close();
}
