一个典型的枚举应用的例子

package opstools.vtm.dictionary.enums;

import opstools.framework.view.ResourceValue;

/**
 *
 *  总行业务管理员         ROLE_ROOT_BUSINESS   总行业务参数管理
    总行系统管理员      ROLE_ROOT_SYSTEM     总行系统参数管理   业务管理员             ROLE_BUSINESS       分行业务参数管理
    运行管理员             ROLE_RUNNING      分行运行参数管理
    系统管理员             ROLE_SYSTEM     分行系统参数管理

    字典列表枚举
     {1:'总行系统参数',2:'总行业务参数',3:'分行系统参数',4:'分行业务参数',5:'分行运行参数'}
     */

public enum RoleBank {

    HEAD_BUSS_MANAGER("ROLE_ROOT_BUSINESS", 2,"总行业务参数") ,             //总行业务管理员
    HEAD_SYS_MANAGER("ROLE_ROOT_SYSTEM", 1,"总行系统参数"),                //总行系统管理员
    BRANCH_SYS_MANAGER("ROLE_SYSTEM", 3,"分行系统参数"),                //分行系统管理员
    BRANCH_BUSS_MANAGER("ROLE_BUSINESS", 4,"分行业务参数"),                //分行业务管理员
    BRANCH_RUN_MANAGER("ROLE_RUNNING", 5,"分行运行参数");                //分行运行管理员

    private String roleCode;         //角色码
    private Integer paramValue;        //字典值Id
    private String paramName;         //字典名称

    private RoleBank(String roleCode, Integer paramValue, String paramName) {
        this.roleCode = roleCode;
        this.paramValue = paramValue;
        this.paramName = paramName;
    }

    /**
     * 根据角色码获取字典值和名称
     * @param roleCode
     * @return
     */
    public static String getParamListByRoleCode(String roleCode) {

        for (RoleBank em : RoleBank.values()) {
            if(roleCode.equals(em.getRoleCode())){
                return em.getParamValue()+","+em.getParamName();
            }
        }
        return null;
    }

    /**
     * 根据角色码获取字典值和名称,以ResourceValue的形式返回
     * @param roleCode
     * @return
     */
    public static ResourceValue getParamResourceByRoleCode(String roleCode) {

        for (RoleBank em : RoleBank.values()) {
            if(roleCode.equals(em.getRoleCode())){
                return new ResourceValue(em.getParamName(),em.getParamValue());
            }
        }
        return null;
    }

    public String getRoleCode() {
        return roleCode;
    }

    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    }

    public Integer getParamValue() {
        return paramValue;
    }

    public void setParamValue(Integer paramValue) {
        this.paramValue = paramValue;
    }

    public String getParamName() {
        return paramName;
    }

    public void setParamName(String paramName) {
        this.paramName = paramName;
    }        

}

java-枚举一些字典信息的例子的更多相关文章

  1. 如何理解java枚举,看例子

    先来看一下不用枚举怎么表示常量: //常量类 class Num { public static String ONE = "ONE"; public static String ...

  2. 使用javap进行反编译Java枚举

    这是一个枚举类Day.java public enum Day { MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY(" ...

  3. java枚举怎么用的

    package com.pingan.property.icore.pap.common.constants; /** * */public enum UMAuthStatusEnum impleme ...

  4. 深入理解Java枚举

    深入理解Java枚举 重新认识Java枚举 老实说,挺羞愧的,这么久了,一直不知道Java枚举的本质是啥,虽然也在用,但是真不知道它的底层是个啥样的 直到2020年4月28日的晚上20点左右,我才真的 ...

  5. 恕我直言,我怀疑你并不会用 Java 枚举

    开门见山地说吧,enum(枚举)是 Java 1.5 时引入的关键字,它表示一种特殊类型的类,默认继承自 java.lang.Enum. 为了证明这一点,我们来新建一个枚举 PlayerType: p ...

  6. Java 枚举用法详解

    概念 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum 关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, GR ...

  7. .NET获取枚举DescriptionAttribute描述信息性能改进的多种方法

    一. DescriptionAttribute的普通使用方式 1.1 使用示例 DescriptionAttribute特性可以用到很多地方,比较常见的就是枚举,通过获取枚举上定义的描述信息在UI上显 ...

  8. java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...

  9. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

随机推荐

  1. MySQL (九)

    1 代码执行结构 代码执行结构有三种:顺序结构.分支结构和循环结构. 1.1 分支结构 分支结构:实现准备多个代码块,按照条件选择性执行某段代码. 在MySQL中只有if分支. 基本语法 if 条件判 ...

  2. PyQt:昨天今天明天表示方法

    PyQt中今天的表示方法如下: QtCore.QDate.currentDate() 那么,明天怎么表示呢? today=QtCore.QDate.currentDate().toJulianDay( ...

  3. node.js学习系列(一)

     node.js 百度百科简介 Node.js 是一个 Javascript 运行环境(runtime).实际上它是对 Google V8 引擎进行了封装.V8 引 擎执行 Javascript 的速 ...

  4. sublime text3开发python并设置快捷键

    Package Control 安装方法 1.通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴相应的 Python 安装代码: 2.Sublime T ...

  5. Csocket基本原理

    我通过几个采用 CSocket 类编写并基于 Client/Server (客户端 / 服务端)的网络聊天和传输文件的程式  ,在调试这些程式的过程中,追踪深入至 CSocket 类核心源码 Sock ...

  6. 十条最有效的PCB设计黄金法则

    十条最有效的PCB设计黄金法则 尽管目前半导体集成度越来越高,许多应用也都有随时可用的片上系统,同时许多功能强大且开箱即用的开发板也越来越可轻松获取,但许多使用案例中电子产品的应用仍然需要使用定制PC ...

  7. Android-Error3:Error when loading the SDK

    解决方法: 用C:\android\sdk\tools中的devices.xml将出现错误的地方的devices.xml替换掉既可以了.

  8. 如何编写更好的SQL查询:终极指南-第三部分

    本次我们学习<如何编写更好的SQL查询>系列的最后一篇文章. 时间复杂度和大O符号 通过前两篇文章,我们已经对查询计划有了一定了解.接下来,我们还可以借助计算复杂度理论,来进一步深入地挖掘 ...

  9. C#设计模式(5)-建造者模式

    引言 上一篇介绍了设计模式中的抽象工厂模式-C#设计模式(3)-抽象工厂模式,本篇将介绍建造者模式: 点击这里查看全部设计模式系列文章导航 建造者模式简介 建造者模式是将一个复杂对象的构建与表示分离, ...

  10. 如何部署 Calico 网络?- 每天5分钟玩转 Docker 容器技术(67)

    Calico 是一个纯三层的虚拟网络方案,Calico 为每个容器分配一个 IP,每个 host 都是 router,把不同 host 的容器连接起来.与 VxLAN 不同的是,Calico 不对数据 ...