package org.aksw.sparqlify.util; import org.aksw.jena_sparql_api.views.ExprEvaluator; import org.aksw.sparqlify.core.cast.SqlExprSerializerSystem; import org.aksw.sparqlify.core.cast.TypeSystem; import org.aksw.sparqlify.core.rewrite.expr.transform.RdfTermEliminator; import org.aksw.sparqlify.core.rewrite.expr.transform.RdfTermEliminatorWriteable; /** * This class bundles the distinct layers of expression rewriting * together. This is used for e.g. loading user extension functions, * as their registration affects all these layers. * * * @author raven * */ public class ExprRewriteSystem { private TypeSystem typeSystem; private ExprEvaluator exprEvaluator; private RdfTermEliminatorWriteable termEliminator; private SqlExprSerializerSystem serializerSystem; public ExprRewriteSystem(TypeSystem typeSystem, RdfTermEliminatorWriteable termEliminator, ExprEvaluator exprEvaluator, SqlExprSerializerSystem serializerSystem) { super(); this.typeSystem = typeSystem; this.termEliminator = termEliminator; this.exprEvaluator = exprEvaluator; this.serializerSystem = serializerSystem; } public TypeSystem getTypeSystem() { return typeSystem; } public ExprEvaluator getExprEvaluator() { return exprEvaluator; } public RdfTermEliminator getTermEliminator() { return termEliminator; } public SqlExprSerializerSystem getSerializerSystem() { return serializerSystem; } }