@Override
  public Query buildQuery() {
    Query query = getBaseQuery();
    for (int i = 0; i < attributes.size(); i++) {
      if (dataTypeIs(i, "string"))
        query.substituteValue(i+1, attributes.get(i).value);
      else if (dataTypeIs(i, "float")) {
        query.substituteValue(i + 1, Float.parseFloat(attributes.get(i).value));      }
      else if (dataTypeIs(i, "int"))
        query.substituteValue(i+1, Integer.parseInt(attributes.get(i).value));
      else if (dataTypeIs(i, "date")) {
        parseDate(query, i);
      }
    }
    return query;
  }