package org.aksw.jena_sparql_api.sparql.algebra.mapping; import java.util.List; import java.util.Map; import com.codepoetics.protonpack.functions.TriFunction; import com.google.common.collect.Multimap; /** * TODO Refactor according to this: * The matching strategy combines a predicate for testing whether two lists of items have potential matches * together with function that can actually enumerate them * * @author raven * * @param <A> * @param <B> */ @FunctionalInterface public interface MatchingStrategyFactory<A, B> extends TriFunction<List<A>, List<B>, Multimap<A, B>, Iterable<Map<A, B>>> { //IterableUnknownSize<Map<A, B>> apply(List<A> as, List<B> bs, Multimap<A, B> mapping); }