package jef.operations; import jef.Queryable; import jef.expressions.Expression; import jef.expressions.SelectExpression; import jef.expressions.selectable.DatabaseFunctionExpression; import java.io.Serializable; import java.util.List; public class CountOp implements Operation { private final Queryable queryable; public CountOp(Queryable queryable) { this.queryable = queryable; } @Override public String getTableAlias() { return String.valueOf((char) (queryable.getTableAlias().charAt(0) + (char) 1)); } @Override public Expression getExpression() { return new SelectExpression(List.of(new DatabaseFunctionExpression("count(*)")), queryable.getExpression(), getTableAlias()); } // @Override // public CountOp clone() { // return new CountOp<>(queryable.clone()); // } public long execute() { return 0;//TODO implement when sql execution part is ready } }