package com.maxifier.guice.events; import java.util.Arrays; import java.util.EnumSet; /** * Created by IntelliJ IDEA. * User: dalex * Date: 16.06.2009 * Time: 13:56:35 */ public class EnumMatcher<T extends Enum<T>> implements EventMatcher<T> { private final EnumSet<T> enums; public EnumMatcher(T[] values) { if (values.length == 0) { enums = null; } else { enums = EnumSet.noneOf(values[0].getDeclaringClass()); enums.addAll(Arrays.asList(values)); } } @Override public boolean matches(T event) { return enums == null || enums.contains(event); } }