枚举常用方法

多个值返回

package com.guodi.bpm.model.enums;


import lombok.Getter;

/**
 * 行政区划控件字段类型枚举
 * @author 梁伟浩
 * @date 2024/5/23 09:24
 * @study 星期四
 */
@Getter
public enum RegionTypeEnum {

    PROVINCE_CODE("provinceCode","省级编码"),
    PROVINCE_OTHER_CODE("provinceOtherCode","省附加编码"),
    CITY_CODE("cityCode","市级编码"),
    CITY_OTHER_CODE("cityOtherCode","市附加编码"),
   COUNTY_CODE("countyCode","县级编码"),
   COUNTY_OTHER_CODE("countyOtherCode","县附加编码");

    RegionTypeEnum(String key, String name) {
        this.key = key;
        this.name = name;
    }
    String key;
    String name;

}
//获取值
RegionTypeEnum.PROVINCE_CODE.getKey()
RegionTypeEnum.PROVINCE_CODE.getName()

public enum ActionTypeEnum {

    //0开始1发送2特送3退回4取回5退件6转办7并行8包含9合流10办结取回…20结束;21发起督办22督办回复;31缓办32缓办恢复;41发起会签42会签办理;
    Start(0),
    Send(1),
    SpSend(2),
    Back(3),
    GetBack(4),
    Return(5),
    ChangeUser(6),
    //SplitAnd(7),
    //SplitOr(8),
    //Join(9),
    FinishedGetBack(10),
    EndCase(20),
    Supervise(21),
    SuperviseEnd(22),
    Stop(31),
    StopRecovery(32),
    Countersign(41),
    CountersignDoing(42);
    
    private Integer value;

    ActionTypeEnum(int value) {
        this.value = value;
    }

    public Integer getValue() {
        return value;
    }
}

根据value返回对应枚举类型

    public static ActionTypeEnum getActionType(Integer no) {
        for (ActionTypeEnum value : ActionTypeEnum.values()) {
            if (value.getValue().equals(no)) {
                return value;
            }
        }
        return null;
    }

根据value返回对应自定义的值

    public static String getText(Integer val){
        switch (val){
            case 0:
                return "开始";
            case 1:
                return "发送";
            case 2:
                return "特送";
            case 3:
                return "退回";
            case 4:
                return "取回";
            case 5:
                return "退件";
            case 6:
                return "转办";
            case 10:
                return "办结取回";
            case 20:
                return "结束";
            case 21:
                return "发起督办";
            case 22:
                return "督办回复";
            case 31:
                return "缓办";
            case 32:
                return "缓办恢复";
            case 41:
                return "发起会签";
            case 42:
                return "会签办理";
            default:
                return "无";
        }
    }

返回对应枚举的value与name

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 消息类型枚举
 * @author 梁伟浩
 * @date 2023/7/10 15:36
 * @study 星期一
 */
public enum MessageTypeEnum {

    TO_DO("待办业务"),

    TIME_WARNING("预警业务"),

    TIME_OUT("超时业务"),

    NODE_TIME_WARNING("节点预警业务"),

    NODE_TIME_OUT("节点超时业务"),

    SUPERVISE("督办业务"),

    BACK("退回业务"),

    CORRECTION("补正业务");

    private String messageType;

    MessageTypeEnum(String messageType) {
        this.messageType = messageType;
    }

    public String getMessageType() {
        return messageType;
    }
}


	//获取枚举list
    public List<MessageTypeDTO> getMessageTypeList() {
        List<MessageTypeEnum> messageTypeEnums = Arrays.asList(MessageTypeEnum.values());
        List<MessageTypeDTO> list = new ArrayList<>();
        messageTypeEnums.forEach(a-> {
            MessageTypeDTO messageTypeDTO = new MessageTypeDTO();
            messageTypeDTO.setName(a.name());
            messageTypeDTO.setValue(a.getMessageType());
            list.add(messageTypeDTO);
        });
        return list;
    }

根据value返回name

public enum FormRuleEventEnum {

    //BeforeSave:保存前;AfterSave:保存后;Print:打印;
    BeforeSave("beforeSave", "保存前"),
    AfterSave("afterSave", "保存后"),
    Print("print", "打印"),
    ;

    private String ruleEvent;

    private String eventName;

    FormRuleEventEnum(String ruleEvent, String eventName) {
        this.ruleEvent = ruleEvent;
        this.eventName = eventName;
    }

    public String getRuleEvent() {
        return ruleEvent;
    }

    public String getEventName() {
        return eventName;
    }

    /**
     * 根据规则事件获取事件名称
     *
     * @param ruleEvent
     * @return
     */
    public static String getEventNameByRuleEvent(String ruleEvent) {
        for (FormRuleEventEnum eventEnum : FormRuleEventEnum.values()) {
            if (ruleEvent.equalsIgnoreCase(eventEnum.ruleEvent)) {
                return eventEnum.eventName;
            }
        }
        return "";
    }

}

枚举定义多个值

public enum GDBLayerEnum {

    GCFW("GCFW", "山水工程", 1),
    STBHXFDY("STBHXFDY", "单元", 2),
    ZXM("ZXM", "子项目", 3);

    String layer;
    String dirName;
    Integer sort;

    public static List<String> getLayerList() {
        List<String> layerList = new ArrayList<>();
        for (GDBLayerEnum value : GDBLayerEnum.values()) {
            layerList.add(value.getLayer());
        }
        return layerList;
    }

    public static GDBLayerEnum getGDBLayerEnumByLayer(String layer) {
        for (GDBLayerEnum value : GDBLayerEnum.values()) {
            if (value.getLayer().equals(layer)) {
                return value;
            }
        }
        return null;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java中的战斗机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值