001package run.iget.framework.common.enums;
002
003import cn.hutool.core.util.StrUtil;
004import lombok.AllArgsConstructor;
005import lombok.Getter;
006
007/**
008 * 代码千万行,注释第一行;注释不规范,迭代两行泪
009 * ----------------------------------------
010 * yes or no
011 * ----------------------------------------
012 * author: 大周
013 * date: 2022/2/8 10:54
014 **/
015@Getter
016@AllArgsConstructor
017public enum YesOrNoEnum implements BaseEnum<String> {
018
019    Y("Y", "yes"),
020    N("N", "no");
021
022    /**
023     * 返回码
024     */
025    private String code;
026
027    /**
028     * 返回消息
029     */
030    private String desc;
031
032    /**
033     * 取反
034     * @param yesOrNoEnum 入参
035     * @return 如果yesOrNoEnum == null,则返回null。
036     */
037    public static YesOrNoEnum negate(YesOrNoEnum yesOrNoEnum) {
038        if (yesOrNoEnum == null) {
039            return null;
040        }
041        return negate(yesOrNoEnum.code);
042    }
043
044    /**
045     * 取反
046     * @param code 入参
047     * @return 如果yesOrNoEnum == null,则返回null。
048     */
049    public static YesOrNoEnum negate(String code) {
050        if (StrUtil.isBlank(code)) {
051            return null;
052        }
053        return Y.code.equals(code) ? N : Y;
054    }
055
056}