forked from fanruan/finekit
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.
92 lines
2.5 KiB
92 lines
2.5 KiB
package com.fanruan.api.cal; |
|
|
|
import com.fr.base.Parameter; |
|
import com.fr.base.ParameterHelper; |
|
import com.fr.base.ParameterMapNameSpace; |
|
import com.fr.stable.ParameterProvider; |
|
import com.fr.stable.script.NameSpace; |
|
import org.jetbrains.annotations.NotNull; |
|
|
|
import java.util.Map; |
|
|
|
/** |
|
* @author richie |
|
* @version 10.0 |
|
* Created by richie on 2019-08-16 |
|
* 参数相关的工具类 |
|
*/ |
|
public class ParameterKit { |
|
|
|
/** |
|
* 创建一个参数对象实例 |
|
* |
|
* @return 参数对象 |
|
*/ |
|
public static ParameterProvider newParameter() { |
|
return new Parameter(); |
|
} |
|
|
|
/** |
|
* 创建一个参数对象实例 |
|
* |
|
* @param name 参数名 |
|
* @param value 参数值 |
|
* @return 参数对象 |
|
*/ |
|
public static ParameterProvider newParameter(String name, Object value) { |
|
return new Parameter(name, value); |
|
} |
|
|
|
/** |
|
* 从字符串中分析中有哪些需要的参数 |
|
* |
|
* @param text 字符串 |
|
* @param hasColumnRow 是否需要分析格子类型的参数 |
|
* @return 字符串中包含的参数集合 |
|
*/ |
|
public static Parameter[] analyze4Parameters(String text, boolean hasColumnRow) { |
|
return ParameterHelper.analyze4Parameters(text, hasColumnRow); |
|
} |
|
|
|
/** |
|
* 分析公式中所携带的参数 |
|
* |
|
* @param text 公式内容 |
|
* @return 参数数组 |
|
*/ |
|
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 名字空间,用于传递给算子做计算 |
|
*/ |
|
public static @NotNull NameSpace createParameterMapNameSpace(Map<String, Object> map) { |
|
return ParameterMapNameSpace.create(map); |
|
} |
|
|
|
/** |
|
* 创建一个用于计算的参数对名字空间 |
|
* |
|
* @param ps 参数数组数组 |
|
* @return 名字空间,用于传递给算子做计算 |
|
*/ |
|
|
|
public static @NotNull ParameterMapNameSpace createParameterMapNameSpace(ParameterProvider[] ps) { |
|
return ParameterMapNameSpace.create(ps); |
|
} |
|
}
|
|
|