package org.springside.modules.utils.base; import java.util.EnumSet; import org.apache.commons.lang3.EnumUtils; /** * 枚举工具集 * * @author calvin * */ public class EnumUtil { /** * 将若干个枚举值转换为long,用于使用long保存多个选项的情况. */ public static <E extends Enum<E>> long generateBits(final Class<E> enumClass, final Iterable<? extends E> values) { return EnumUtils.generateBitVector(enumClass, values); } /** * 将若干个枚举值转换为long,用于使用long保存多个选项的情况. */ public static <E extends Enum<E>> long generateBits(final Class<E> enumClass, final E... values) { return EnumUtils.generateBitVector(enumClass, values); } /** * long重新解析为若干个枚举值,用于使用long保存多个选项的情况. */ public static <E extends Enum<E>> EnumSet<E> processBits(final Class<E> enumClass, final long value) { return EnumUtils.processBitVector(enumClass, value); } }