All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.unibz.inf.ontop.injection.CoreSingletons Maven / Gradle / Ivy

package it.unibz.inf.ontop.injection;

import it.unibz.inf.ontop.constraints.HomomorphismFactory;
import it.unibz.inf.ontop.dbschema.DatabaseInfoSupplier;
import it.unibz.inf.ontop.iq.node.normalization.ConstructionSubstitutionNormalizer;
import it.unibz.inf.ontop.iq.type.NotYetTypedBinaryMathOperationTransformer;
import it.unibz.inf.ontop.iq.type.NotYetTypedEqualityTransformer;
import it.unibz.inf.ontop.iq.type.PartiallyTypedSimpleCastTransformer;
import it.unibz.inf.ontop.iq.type.SingleTermTypeExtractor;
import it.unibz.inf.ontop.model.atom.AtomFactory;
import it.unibz.inf.ontop.model.term.TermFactory;
import it.unibz.inf.ontop.model.term.functionsymbol.FunctionSymbolFactory;
import it.unibz.inf.ontop.model.term.functionsymbol.db.DBFunctionSymbolFactory;
import it.unibz.inf.ontop.model.type.TypeFactory;
import it.unibz.inf.ontop.substitution.SubstitutionFactory;
import it.unibz.inf.ontop.utils.CoreUtilsFactory;

/**
 * Helper for accessing (most of) the Guice "singletons" of the ontop-model module
 *
 * Useful for writing low-level classes that are not instantiated by the Guice framework
 */
public interface CoreSingletons {

    TermFactory getTermFactory();

    TypeFactory getTypeFactory();

    FunctionSymbolFactory getFunctionSymbolFactory();
    DBFunctionSymbolFactory getDBFunctionsymbolFactory();

    AtomFactory getAtomFactory();

    SubstitutionFactory getSubstitutionFactory();

    HomomorphismFactory getHomomorphismFactory();

    IntermediateQueryFactory getIQFactory();

    CoreUtilsFactory getCoreUtilsFactory();

    /**
     * TODO: refactor and remove
     */
    QueryTransformerFactory getQueryTransformerFactory();

    SingleTermTypeExtractor getUniqueTermTypeExtractor();

    OntopModelSettings getSettings();


    ConstructionSubstitutionNormalizer getConstructionSubstitutionNormalizer();

    NotYetTypedEqualityTransformer getNotYetTypedEqualityTransformer();
    NotYetTypedBinaryMathOperationTransformer getNotYetTypedBinaryMathOperationTransformer();

    PartiallyTypedSimpleCastTransformer getPartiallyTypeSimpleCastTransformer();

    DatabaseInfoSupplier getDatabaseInfoSupplier();
    // TODO: complete
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy