
it.unibz.inf.ontop.injection.OntopModelConfiguration Maven / Gradle / Ivy
package it.unibz.inf.ontop.injection;
import com.google.inject.Injector;
import it.unibz.inf.ontop.exception.InvalidOntopConfigurationException;
import it.unibz.inf.ontop.injection.impl.OntopModelConfigurationImpl;
import it.unibz.inf.ontop.model.atom.AtomFactory;
import it.unibz.inf.ontop.model.term.TermFactory;
import it.unibz.inf.ontop.model.type.TypeFactory;
import org.apache.commons.rdf.api.RDF;
import javax.annotation.Nonnull;
import java.io.File;
import java.util.Properties;
/**
* TODO: explain
*/
public interface OntopModelConfiguration {
OntopModelSettings getSettings();
Injector getInjector();
void validate() throws InvalidOntopConfigurationException;
IntermediateQueryFactory getIQFactory();
AtomFactory getAtomFactory();
TermFactory getTermFactory();
TypeFactory getTypeFactory();
RDF getRdfFactory();
/**
* Default builder
*/
static Builder> defaultBuilder() {
return new OntopModelConfigurationImpl.BuilderImpl();
}
/**
* TODO: explain
*/
interface OntopModelBuilderFragment> {
B properties(@Nonnull Properties properties);
B propertyFile(String propertyFilePath);
B propertyFile(File propertyFile);
B enableTestMode();
// TODO: enable it later
// B cardinalityPreservationMode(OntopModelProperties.CardinalityPreservationMode mode);
}
/**
* TODO: explain
*/
interface Builder> extends OntopModelBuilderFragment {
OntopModelConfiguration build();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy