| | |
| | | import com.fasterxml.jackson.annotation.JsonCreator; |
| | | import com.fasterxml.jackson.annotation.JsonValue; |
| | | |
| | | public interface BaseEnum { |
| | | public interface BaseEnum<T> { |
| | | @JsonValue |
| | | Integer getCode(); |
| | | |
| | | T getCode(); |
| | | |
| | | String getValue(); |
| | | |
| | | /** |
| | |
| | | * 通用静态工具方法:支持从 Integer 或 String 类型的 Code 进行反序列化 |
| | | */ |
| | | @JsonCreator(mode = JsonCreator.Mode.DELEGATING) |
| | | static <E extends Enum<E> & BaseEnum> E fromCode(Class<E> enumClass, Object code) { |
| | | static <E extends Enum<E> & BaseEnum<?>> E fromCode(Class<E> enumClass, Object code) { |
| | | if (code == null) { |
| | | return null; |
| | | } |