cz.encircled.joiner.query.join.DefaultJoinGraphRegistry Maven / Gradle / Ivy
package cz.encircled.joiner.query.join;
import cz.encircled.joiner.exception.JoinerException;
import cz.encircled.joiner.util.Assert;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
/**
* ConcurrentHashMap-based implementation of {@link JoinGraphRegistry}
*
* @author Vlad on 15-Aug-16.
*/
public class DefaultJoinGraphRegistry implements JoinGraphRegistry {
private final Map>> registry = new ConcurrentHashMap<>();
@Override
public void registerJoinGraph(Object graphName, Collection joins, Class>... rootClasses) {
Assert.notNull(graphName);
Assert.notNull(joins);
Assert.notNull(rootClasses);
Assert.assertThat(rootClasses.length > 0);
for (Class> clazz : rootClasses) {
registry.computeIfAbsent(clazz, c -> new ConcurrentHashMap<>());
Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy