package org.aksw.sparqlify.core.cast; import java.util.HashMap; import java.util.Map; /** * Maps datatypeUris to SqlDatatype objects. * The SqlDatatype object can map NodeValue to SqlValues. * * * @author raven * */ public class SqlTypeMapperImpl implements SqlTypeMapper { private Map<String, SqlDatatype> map = new HashMap<String, SqlDatatype>(); public SqlTypeMapperImpl() { super(); } public Map<String, SqlDatatype> getMap() { return map; } // @Override public SqlDatatype getSqlDatatype(String datatypeUri) { SqlDatatype result = map.get(datatypeUri); return result; } public static <K, V> void putIfNotExists(Map<K, V> map, K key, V value) { boolean containsKey = map.containsKey(key); if(containsKey) { throw new RuntimeException("Key " + key + " already mapped."); } map.put(key, value); } @Override public void register(String datatypeUri, SqlDatatype sqlType) { putIfNotExists(map, datatypeUri, sqlType); } }