package com.dianping.pigeon.remoting.common.domain; /** * @author qi.yin * 2016/11/14 下午7:38. */ public enum MessageType { HEART((byte) 1, "heart"), SERVICE((byte) 2, "service"), EXCEPTION((byte) 3, "exception"), SERVICE_EXCEPTION((byte) 4, "serviceException"), HEALTH_CHECKER((byte) 5, "healthChecker"), SCANNER_HEART((byte) 6, "scannerHeart"); private byte code; private String name; private MessageType(byte code, String name) { this.code = code; this.name = name; } public byte getCode() { return code; } public String getName() { return name; } public static MessageType getMessageType(byte code) { switch (code) { case 1: return HEART; case 2: return SERVICE; case 3: return EXCEPTION; case 4: return SERVICE_EXCEPTION; case 5: return HEALTH_CHECKER; case 6: return SCANNER_HEART; default: throw new IllegalArgumentException("invalid messageType code: " + code); } } public static boolean isHeart(byte code) { return HEART.getCode() == code; } public static boolean isService(byte code) { return SERVICE.getCode() == code; } public static boolean isException(byte code) { return EXCEPTION.getCode() == code; } public static boolean isServiceException(byte code) { return SERVICE_EXCEPTION.getCode() == code; } public static boolean isHealthChecker(byte code) { return HEALTH_CHECKER.getCode() == code; } public static boolean isScannerHeart(byte code) { return SCANNER_HEART.getCode() == code; } }