blob: 753a8dd6543afa423d2eb300388d31f449607e4a [file] [log] [blame]
package edu.uci.ics.asterix.aql.expression;
import edu.uci.ics.asterix.aql.base.Expression;
import edu.uci.ics.asterix.aql.expression.visitor.IAqlExpressionVisitor;
import edu.uci.ics.asterix.aql.expression.visitor.IAqlVisitorWithVoidReturn;
import edu.uci.ics.asterix.common.exceptions.AsterixException;
public class IfExpr implements Expression {
private Expression condExpr;
private Expression thenExpr;
private Expression elseExpr;
public IfExpr() {
}
public IfExpr(Expression condExpr, Expression thenExpr, Expression elseExpr) {
this.condExpr = condExpr;
this.thenExpr = thenExpr;
this.elseExpr = elseExpr;
}
public Expression getCondExpr() {
return condExpr;
}
public void setCondExpr(Expression condExpr) {
this.condExpr = condExpr;
}
public Expression getThenExpr() {
return thenExpr;
}
public void setThenExpr(Expression thenExpr) {
this.thenExpr = thenExpr;
}
public Expression getElseExpr() {
return elseExpr;
}
public void setElseExpr(Expression elseExpr) {
this.elseExpr = elseExpr;
}
@Override
public Kind getKind() {
return Kind.IF_EXPRESSION;
}
@Override
public <T> void accept(IAqlVisitorWithVoidReturn<T> visitor, T arg) throws AsterixException {
visitor.visit(this, arg);
}
@Override
public <R, T> R accept(IAqlExpressionVisitor<R, T> visitor, T arg) throws AsterixException {
return visitor.visitIfExpr(this, arg);
}
}