插件开发工具库,推荐依赖该工具库。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.7 KiB

package com.fanruan.api.cal;
import com.fr.base.ParameterHelper;
import com.fr.base.ParameterMapNameSpace;
import com.fr.script.CalculatorMap;
import com.fr.stable.ParameterProvider;
import com.fr.stable.script.NameSpace;
5 years ago
import org.jetbrains.annotations.NotNull;
import java.util.Map;
/**
* @author richie
* @version 10.0
* Created by richie on 2019-08-16
* 参数相关的工具类
*/
public class ParameterKit{
/**
* 分析公式中所携带的参数
* @param text 公式内容
* @return 参数数组
*/
5 years ago
public static @NotNull ParameterProvider[] analyze4ParametersFromFormula(String text) {
return ParameterHelper.analyze4ParametersFromFormula(text);
}
/**
* 分析一组字符串中的参数
* @param paramTexts 字符串组
* @param isFormula 是否是公式类型的字符串数组
* @return 参数集合
*/
public static @NotNull ParameterProvider[] analyze4Parameters(String[] paramTexts, boolean isFormula) {
return ParameterHelper.analyze4Parameters(paramTexts, isFormula);
}
/**
* 创建一个用于计算的参数对名字空间
* @param map 参数键值对
* @return 名字空间用于传递给算子做计算
*/
5 years ago
public static @NotNull NameSpace createParameterMapNameSpace(Map<String, Object> map) {
return ParameterMapNameSpace.create(map);
}
/**
* 创建一个用于计算的参数对名字空间
* @param ps ParameterProvider的数组
* @return 名字空间用于传递给算子做计算
*/
public static @NotNull ParameterMapNameSpace createParameterProvider(ParameterProvider[] ps) {
return ParameterMapNameSpace.create(ps);
}
}