package net.sourceforge.mayfly.evaluation.expression;
import net.sourceforge.mayfly.datastore.Cell;
import net.sourceforge.mayfly.datastore.StringCell;
import net.sourceforge.mayfly.evaluation.Expression;
import net.sourceforge.mayfly.evaluation.ResultRow;
import net.sourceforge.mayfly.evaluation.select.Evaluator;
public class Concatenate extends BinaryOperator {
public Concatenate(Expression left, Expression right) {
super(left, right);
}
@Override
protected Cell combine(Cell leftCell, Cell rightCell) {
return new StringCell(leftCell.asString() + rightCell.asString());
}
@Override
public Expression resolve(ResultRow row, Evaluator evaluator) {
return new Concatenate(
left.resolve(row, evaluator), right.resolve(row, evaluator));
}
}