package io.delphi.qa.auto.awsmfrw.models.db.sql.dsl;

import org.apache.commons.lang3.ArrayUtils;

public class DslSqlCase extends AbstractDslSqlQuery {

  public DslSqlCase() {
    queryArray = ArrayUtils.addAll(queryArray, "case when");
  }

  public DslSqlCase elseEnd(String elseExpression) {
    queryArray = ArrayUtils.addAll(queryArray, String.format(") else(%s) end", elseExpression));
    return this;
  }

  public DslSqlCase exists(InterfaceDslSqlQuery select) {
    queryArray = ArrayUtils.addAll(queryArray, String.format(" exists(%s", select.queryText()));
    return this;
  }

  public DslSqlCase then(String thenExpression) {
    queryArray = ArrayUtils.addAll(queryArray, String.format(") then(%s", thenExpression));
    return this;
  }
}
