init: UserBaseService (backend + deploy + scripts)
ci-userbase-service / build-and-push (push) Successful in 40s
ci-userbase-service / build-and-push (push) Successful in 40s
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
package com.yunhai.userbase.enums;
|
||||
|
||||
import com.yunhai.userbase.utils.EnumUtils;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 统一枚举规范接口,仅定义契约getKey/getValue
|
||||
* 内置静态工具方法,业务直接 IEnum.xxx(枚举类) 调用
|
||||
* @param <T> key类型
|
||||
*/
|
||||
public interface IEnum<T> {
|
||||
|
||||
/** 获取编码key */
|
||||
T getKey();
|
||||
|
||||
/** 获取中文展示value */
|
||||
String getValue();
|
||||
|
||||
// ====================== 静态工具入口(统一对外调用) ======================
|
||||
/** 获取枚举全部实例列表 */
|
||||
static <E extends Enum<E> & IEnum<?>> List<E> toList(Class<E> clazz) {
|
||||
return EnumUtils.toList(clazz);
|
||||
}
|
||||
|
||||
/** 根据key获取枚举,无匹配返回null */
|
||||
static <E extends Enum<E> & IEnum<?>> E getByKey(Class<E> clazz, Object key) {
|
||||
return EnumUtils.getEnumByKey(clazz, key);
|
||||
}
|
||||
|
||||
/** 根据key严格获取,不存在抛异常(对应fromKey) */
|
||||
static <E extends Enum<E> & IEnum<?>> E fromKey(Class<E> clazz, Object key) {
|
||||
return EnumUtils.fromKey(clazz, key);
|
||||
}
|
||||
|
||||
/** 根据key获取中文value,无匹配返回空串 */
|
||||
static <E extends Enum<E> & IEnum<?>> String getValueByKey(Class<E> clazz, Object key) {
|
||||
return EnumUtils.getValue(clazz, key);
|
||||
}
|
||||
|
||||
/** 根据中文value获取key字符串,无匹配返回空串 */
|
||||
static <E extends Enum<E> & IEnum<?>> String getKeyByValue(Class<E> clazz, String value) {
|
||||
return EnumUtils.getKey(clazz, value);
|
||||
}
|
||||
|
||||
/** 判断key是否存在 */
|
||||
static <E extends Enum<E> & IEnum<?>> boolean existsKey(Class<E> clazz, Object key) {
|
||||
return EnumUtils.isExistKey(clazz, key);
|
||||
}
|
||||
|
||||
/** 判断value是否存在 */
|
||||
static <E extends Enum<E> & IEnum<?>> boolean existsValue(Class<E> clazz, String value) {
|
||||
return EnumUtils.isExistValue(clazz, value);
|
||||
}
|
||||
|
||||
/** 转完整Map列表(包含enum实例、name、key、value) */
|
||||
static <E extends Enum<E> & IEnum<?>> List<Map<String, Object>> toFullMapList(Class<E> clazz) {
|
||||
return EnumUtils.toMapList(clazz);
|
||||
}
|
||||
|
||||
/** 转下拉简易Map列表,自定义key/value字段名 */
|
||||
static <E extends Enum<E> & IEnum<?>> List<Map<String, Object>> toSimpleMapList(Class<E> clazz, String keyMapName, String valueMapName) {
|
||||
return EnumUtils.toMapList(clazz, keyMapName, valueMapName);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user