001package org.dllearner.algorithms.qtl.util.filters;
002
003import com.google.common.collect.Sets;
004import org.apache.jena.graph.Node;
005import org.dllearner.algorithms.qtl.datastructures.impl.GenericTree;
006
007import java.util.Collection;
008import java.util.HashSet;
009import java.util.Set;
010
011/**
012 * @author Lorenz Buehmann
013 */
014public abstract class AbstractTreeFilter<T extends GenericTree> implements TreeFilter<T> {
015
016    protected Set<Node> nodes2Keep = new HashSet<>();
017
018    /**
019     * @param nodes2Keep nodes that have to be kept available in any case during filtering
020     */
021    public void setNodes2Keep(Collection<Node> nodes2Keep) {
022        this.nodes2Keep = Sets.newHashSet(nodes2Keep);
023    }
024
025    /**
026     * @return  nodes that have to be kept available in any case during filtering
027     */
028    public Set<Node> getNodes2Keep() {
029        return nodes2Keep;
030    }
031}