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<String> 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();
|
}
|
|
}
|