package org.aksw.sparqlify.core.domain.input; import java.util.List; import org.aksw.jena_sparql_api.views.VarDefinition; import org.apache.jena.sparql.core.Var; public class SparqlSqlStringRewrite { // Whether the query is known to yield an empty result private boolean isEmptyResult; private String sqlQueryString; private VarDefinition varDefinition; private List<Var> projectionOrder; public SparqlSqlStringRewrite(String sqlQueryString, boolean isEmptyResult, VarDefinition varDefinition, List<Var> projectionOrder) { this.sqlQueryString = sqlQueryString; this.isEmptyResult = isEmptyResult; this.varDefinition = varDefinition; this.projectionOrder = projectionOrder; } public boolean isEmptyResult() { return isEmptyResult; } public String getSqlQueryString() { return sqlQueryString; } public VarDefinition getVarDefinition() { return varDefinition; } public List<Var> getProjectionOrder() { return projectionOrder; } @Override public String toString() { return "Rewrite [sqlQueryString=" + sqlQueryString + ", varDefinition=" + varDefinition + ", projectionOrder=" + projectionOrder + "]"; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((projectionOrder == null) ? 0 : projectionOrder.hashCode()); result = prime * result + ((sqlQueryString == null) ? 0 : sqlQueryString.hashCode()); result = prime * result + ((varDefinition == null) ? 0 : varDefinition.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SparqlSqlStringRewrite other = (SparqlSqlStringRewrite) obj; if (projectionOrder == null) { if (other.projectionOrder != null) return false; } else if (!projectionOrder.equals(other.projectionOrder)) return false; if (sqlQueryString == null) { if (other.sqlQueryString != null) return false; } else if (!sqlQueryString.equals(other.sqlQueryString)) return false; if (varDefinition == null) { if (other.varDefinition != null) return false; } else if (!varDefinition.equals(other.varDefinition)) return false; return true; } }