cn.k7g.alloy.expose.DataProvider Maven / Gradle / Ivy
package cn.k7g.alloy.expose;
import cn.k7g.alloy.mold.var.AbsVar;
/**
* 数据提供, 实现此接口的子类必须是一个 spring component
* @author victor-wu
* @date 2024年4月3日
*/
public interface DataProvider {
/**
* 是否支持此类型,若不支持继续匹配其他的提供器
* @param var 声明的变量
* @return 是否支持变量
*/
boolean supports(AbsVar var);
/**
* 使用当前实现的提供器,将AbsVar 转换成实际的数据类型。
* 实现的 DataProvider 必须是一个 Spring 组件
* @param var 声明的变量
* @return 返回实际数据
*/
R get(AbsVar var);
}