常量库文件

​ 在业务系统开发过程中,常常会用到一个枚举数据,比如用户的性别、学历等,在URule Pro当中,通过定义常量库文件,可以将系统中使用的这些枚举数据映射到规则中使用,这样就可以避免规则定义过程中枚举数据手工输入存在错误的可能性。

​ 在“库”节点上右键,创建一个常量库文件,如下图所示:

​ 与变量库文件类似,常量也是由分类和具体的常量值构成,比如性别有男女之分,那么这里的“性别”就属性分类,“男”、“女”就属性具体的常量值。在常量的分类中,“名称”一般定义具体的分类名,“标题”是一段描述(比如“性别”是标题,“gender”是名称),同样这个标题也会出现在规则引用当中;加好分类后就可以添加这个分类下具体的常量值,常量值也有名称和标题之分,名称是具体的常量值,标题则是描述,比如“男”是标题,"true"是名称,同样“女”是标题,“false”是名称。

​ 同样,在一个常量库文件中可以根据需要添加多个常量分类。

常量定义时,其名称值可使用Spring中加载的properties文件值,具体使用方法是将要引用的properties的key值用${...}包裹,这样在具体规则运行时会动态查找这个包裹的属性值作为具体的常量,如:${app.title}表示取spring中properties文件的名为app.title的属性值。利用这一功能,可实现测试环境与生产环境的动态切换。

​ 常量库文件在定义时支持从一个具体的Java枚举类中直接导入,方法是在常量分类上右键,在弹出的菜单中选择“从枚举类导入”项,在弹出的窗口中输入完整的枚举类路径即可实现将枚举类里的枚举值导入到当前常量分类之下。

在通过枚举类导入具体常量时,如果枚举类中未定义getLabel方法,那么导入的枚举信息则只采用其name属性,如果定义了getLabel方法,那么导入后的枚举信息则包含name和label,包含getLabel方法的枚举类示例如下所示:

public enum TestEnum {
    aaa("张三"),bbb("李四");
    private String label;
    private TestEnum(String label) {
        this.label=label;
    }
    public String getLabel() {
        return label;
    }
}

results matching ""

    No results matching ""