code: package com.taxonic.carml.rdf_mapper;
  
  import java.lang.reflect.Type;
  import java.util.Set;
  import org.eclipse.rdf4j.model.IRI;
  import org.eclipse.rdf4j.model.Model;
  import org.eclipse.rdf4j.model.Resource;
  
  public interface Mapper {
  
  	<T> T map(Model model, Resource resource, Set<Type> types);
  	
  	Type getDecidableType(IRI rdfType);
  
  	void addDecidableType(IRI rdfType, Type type);
  	void bindInterfaceImplementation(Type interfaze, Type implementation);
  	
  	Type getInterfaceImplementation(Type interfaze);
  }
  