package org.jadira.scanner.classpath.filter; import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.jadira.scanner.classpath.types.JElement; import org.jadira.scanner.core.filter.AbstractFilter; public class JElementTypeFilter extends AbstractFilter<JElement> { private Set<Class<? extends JElement>> elementTypes = new HashSet<Class<? extends JElement>>(); public JElementTypeFilter() { } public JElementTypeFilter(Class<? extends JElement> type) { if (type != null) { elementTypes.add(type); } } public JElementTypeFilter(Collection<Class<? extends JElement>> types) { for (Class<? extends JElement> next : types) { elementTypes.add(next); } } @Override public boolean accept(JElement element) { final boolean shouldAccept = elementTypes.contains(element.getClass()); return shouldAccept; } }