package com.vci.web.enumpck; import com.vci.starter.web.annotation.VciEnum; import com.vci.starter.web.enumpck.BaseEnum; import com.vci.starter.web.util.Lcm.Func; import java.util.List; import java.util.Objects; /** * 密码策略-组合方式类型 * @author ludc * @date 2024/07/09 */ @VciEnum(name = "combination",text = "组合方式类型",description = "组合方式类型") public enum CombinationEnum implements BaseEnum { /** * 数字 */ NUMBER("number","数字"), /** * 小写字母 */ LOWER("lower","小写字母"), /** * 大写字母 */ UPPER("upper","大写字母"), /** * 符号 */ SYMBOL("symbol","符号"); /** * 枚举的值 */ private String value; /** * 枚举显示文本 */ private String text; /** * 获取枚举值 * @return 枚举值 */ @Override public String getValue() { return value; } /** * 获取枚举显示文本 * @return 显示文本 */ @Override public String getText() { return text; } /** * 构造函数 * @param value 值 * @param text 显示文本 */ private CombinationEnum(String value, String text){ this.value = value; this.text = text; } /** * 根据名称获取对应的枚举值 * @param text 名称 * @return 枚举值 */ public static String getValueByText(String text){ for(CombinationEnum wenum : CombinationEnum.values()){ if(wenum.getText().equalsIgnoreCase(text)){ return wenum.getValue(); } } return ""; } /** * 根据枚举值获取名称 * @param value 枚举值 * @return 名称 */ public static String getTextByValue(String value){ for(CombinationEnum wenum : CombinationEnum.values()){ if(wenum.getValue().equalsIgnoreCase(value)){ return wenum.getText(); } } return ""; } /** * 获取组合方式类型枚举显示值,多个枚举值一次性转 * @param values * @return */ public static String getCombinationText(String values){ if(Objects.isNull(values)){ return ""; } List valueList = Func.toStrList(values); StringBuilder sb = new StringBuilder(); valueList.stream().forEach(item->{ String text = getTextByValue(item); sb.append(text); sb.append(","); }); return sb.deleteCharAt(sb.length() - 1).toString(); } }