com.houkunlin.system.dict.starter.DictEnum Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of system-dict-starter Show documentation
Show all versions of system-dict-starter Show documentation
系统数据字典自动翻译成字典文本。可集合系统数据库中存储的用户数据字典,也可使用枚举做系统数据字典,主要用在返回数据给前端时自动把字典值翻译成字典文本信息;
The system data dictionary is automatically translated into dictionary text.
The user data dictionary stored in the system database can be aggregated, and the enumeration can also be used as the system data dictionary.
It is mainly used to automatically translate dictionary values into dictionary text information when returning data to the front end.
The newest version!
package com.houkunlin.system.dict.starter;
import com.fasterxml.jackson.annotation.JsonValue;
import com.google.common.base.Objects;
import java.io.Serializable;
/**
* 数据字典枚举接口。系统字典枚举接口
*
* @author HouKunLin
*/
public interface DictEnum {
/**
* 通过枚举值从枚举列表中获取枚举对象
*
* @param values 枚举对象列表
* @param value 枚举值
* @param 枚举值类型
* @return 枚举对象
*/
static & DictEnum> E valueOf(E[] values, T value) {
for (final E enums : values) {
if (enums.getValue().equals(value)) {
return enums;
}
}
return null;
}
/**
* 父级字典值
*
* @return 父级字典值
*/
default T getParentValue() {
return null;
}
/**
* 字典值
*
* @return 字典值
*/
@JsonValue
T getValue();
/**
* 字典文本
*
* @return 字典文本
*/
String getTitle();
/**
* 排序值
*
* @return 排序值
*/
default int getSorted() {
return 0;
}
/**
* 是否禁用
*
* @return 是否禁用
*/
default boolean isDisabled() {
return false;
}
/**
* 判断字典值是否相等
*
* @param o 传入的值,可为当前的枚举对象
* @return 判断是否相等
*/
default boolean eq(Object o) {
return this == o || Objects.equal(o, getValue());
}
}