zoukankan      html  css  js  c++  java
  • Enum in Java

    1. Enum Class

    public enum ContainerPropertyConstants {
        RETAILER("retailer"),
        LINED("isLined"),
        BAGGING("bagging"),
        MISSING("missing"),
        MOVABLE("movable"),
        RESERVABLE("reservable"),
        CONTAINED_DELIVERY_TOTE("hasContainerDeliveryTote"),
        DAMAGED("isDamaged"),
        DIRTY("isDirty"),
        TAINTED("isTainted"),
        CONTAINED_STOCK("hasContainedStock"),
        UNKNOWN("unknown");
        
        private String value;
        private ContainerPropertyConstants(String value) {
            this.value = value;
        }
        
        public String getValue() {
            return value;
        }
    
        @Override
        public String toString() {
            return this.getValue();
        }
    
        public static ContainerPropertyConstants getEnum(String propertyKey) {
            for(ContainerPropertyConstants v : values()) {
                if(v.getValue().equals(propertyKey.trim())) { 
                    return v;
                }
            }
            return UNKNOWN;
        }
    }

    2. Use Enum Class

        private BinAttributes getBinAttributes(Map<PropertyKey, PropertyValue> properties, BinAttributes.Builder builder) {
            properties.forEach((k, v) -> {
                switch (ContainerPropertyConstants.getEnum(k.toString())) {
                    case LINED:
                        break;
                    case MOVABLE:
                        builder.setAccessibleToPhoenix(Boolean.valueOf(v.getPropertyValue()));
                        break;
                    case RESERVABLE:
                        break;
                    case CONTAINED_DELIVERY_TOTE:
                        break;
                    case DAMAGED:
                        builder.setDamaged(Boolean.valueOf(v.getPropertyValue()));
                        break;
                    case DIRTY:
                        builder.setContaminated( Boolean.valueOf(v.getPropertyValue()));
                        break;
                    case TAINTED:
                        builder.setTainted(Boolean.valueOf(v.getPropertyValue()));
                        break;
                    case CONTAINED_STOCK:
                        break;
                    case UNKNOWN:
                        throw new IllegalArgumentException("Phoenix container property [" + k + "] not recognised.");
                    default:
                        logger.info("Currently cannot handle container property [{}]", k);
               break; } }); return builder.build(); }
  • 相关阅读:
    软件构造期末复习考点总结
    设计模式
    怎么写测试策略
    FreeRTOS任务创建、启动调度器、任务切换的过程分析——基于ARM-CotexM3
    Altium Designer 创建集成封装库(.IntLib文件)的方法
    Altium Designer多通道设计的原理与应用实例
    我的编程命名风格
    计算机网络学习笔记
    基于串口通信做my_printf时遇到的坑儿
    git常用命令
  • 原文地址:https://www.cnblogs.com/codingforum/p/5106720.html
Copyright © 2011-2022 走看看