package org.zbus.common.protocol; public enum MessageMode { MQ, //消息队列 PubSub, //发布订阅 Temp; //是否临时 private MessageMode(){ mask = (1 << ordinal()); } private final int mask; public final int getMask() { return mask; } public int intValue(){ return this.mask; } public static boolean isEnabled(int features, MessageMode feature) { return (features & feature.getMask()) != 0; } public static int intValue(MessageMode... features){ int value = 0; for(MessageMode feature : features){ value |= feature.mask; } return value; } }