枚举使用

89 阅读1分钟

package com.shuwen.production.template.front.biz.enums;

import org.apache.commons.lang3.StringUtils;

import java.util.HashSet; import java.util.Set;

/**

  • Created by liuliang on 2018/3/28.

  • 媒资码流定义 */ public enum MediaBitrateTypeEnum {

    /**

    • 原始格式 */ RAW("RAW",99999),

    /**

    • 4K */ FOUR_K("4K",2160),

    /**

    • 全高清 */ FHD("FHD",1080),

    /**

    • 原始 */ OD("OD", 0),

    /**

    • 高清 */ HD("HD",720),

    /**

    • 标清 */ SD("SD",540),

    /**

    • 流畅 */ LD("LD",360),

    /**

    • 未知 */ UNKNOWN("UNKNOWN",0);

    private String value;

    private Integer definition;

    MediaBitrateTypeEnum(String value, Integer definition) { this.value = value; this.definition = definition; }

    public String value() { return value; }

    public Integer definition() { return definition; }

    public boolean isEqual(String mediaBitrateType) { return this.value().equals(mediaBitrateType); }

    public final static Set MediaBitrateTypeSet = new HashSet();

    public static boolean isValid(String mediaBitrateType) { return MediaBitrateTypeSet.contains(mediaBitrateType); }

    public static MediaBitrateTypeEnum getBitrateType(String mediaBitrateType) { if(StringUtils.isBlank(mediaBitrateType)){ return MediaBitrateTypeEnum.UNKNOWN; }

     switch (mediaBitrateType){
         case "RAW":
             return MediaBitrateTypeEnum.RAW;
         case "4K":
             return MediaBitrateTypeEnum.FOUR_K;
         case "FHD":
             return MediaBitrateTypeEnum.FHD;
         case "HD":
             return MediaBitrateTypeEnum.HD;
         case "SD":
             return MediaBitrateTypeEnum.SD;
         case "LD":
             return MediaBitrateTypeEnum.LD;
         case "OD":
             return MediaBitrateTypeEnum.OD;
         default:
             return MediaBitrateTypeEnum.UNKNOWN;
     }
    

    }

}