package dk.statsbiblioteket.medieplatform.autonomous.iterator.fedora3; import java.util.List; /** Filter that filters on configurable list of values. */ public class ConfigurableFilter implements FedoraTreeFilter { private final List<String> predicateNames; private final List<String> names; /** * Initialise filter with given values * * @param attributeNames Names of attributes to include * @param predicateNames Names of predicates to include. Not that a unique substring is enough. */ public ConfigurableFilter(List<String> attributeNames, List<String> predicateNames) { this.predicateNames = predicateNames; this.names = attributeNames; } @Override public boolean isAttributeDatastream(String dsid) { return names.contains(dsid); } @Override public boolean isChildRel(String predicate) { for (String predicateName : predicateNames) { if (predicate.equals(predicateName)) { return true; } } return false; } }