Skip to content

v1.3.0 优化过期枚举功能的设计

Compare
Choose a tag to compare
@luo-zhan luo-zhan released this 27 Nov 02:37
· 10 commits to main since this release

背景

老版本中Dict.getAll(Class)方法获取枚举所有元素时,每个元素中都会包含codetextisDeprecated(是否废弃)三个属性,但是大部分情况下枚举中的isDeprecated的值是false,这样在前后端数据交互时会造成不必要的性能浪费。

改变

所以优化了这部分设计,增加了一个重载方法:Dict.getAll(Class, boolean),第二个参数表示是否排除过期元素,默认是false,所以当前端只需要未过期的枚举元素时,传true即可:

enum SexEnum implements Dict<Integer>{
    MALE(1, "男"),
    FEMALE(2, "女"),
    @Deprecated
    UNKNOWN(3, "未知");
   ...
}
// 排除过期元素
Dict.getAll(SexEnum.Class, true); // [{code:1,text:"男"},{code:2,text:"女"}]

// 所有元素(不排除过期元素)
Dict.getAll(SexEnum.Class) //  [{code:1,text:"男"},{code:2,text:"女"},{code:3,text:"未知"}]