blob: 0e97eab864c11c6706f3c46c0d38479c1f65709d [file] [log] [blame]
package edu.uci.ics.asterix.aql.expression;
import java.util.List;
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 QuantifiedExpression implements Expression {
private List<QuantifiedPair> quantifiedList;
private Expression satisfiesExpr;
private Quantifier quantifier;
public QuantifiedExpression() {
super();
}
public QuantifiedExpression(Quantifier quantifier, List<QuantifiedPair> quantifiedList, Expression satisfiesExpr) {
super();
this.quantifier = quantifier;
this.quantifiedList = quantifiedList;
this.satisfiesExpr = satisfiesExpr;
}
public Quantifier getQuantifier() {
return quantifier;
}
public void setQuantifier(Quantifier quantifier) {
this.quantifier = quantifier;
}
public List<QuantifiedPair> getQuantifiedList() {
return quantifiedList;
}
public void setQuantifiedList(List<QuantifiedPair> quantifiedList) {
this.quantifiedList = quantifiedList;
}
public Expression getSatisfiesExpr() {
return satisfiesExpr;
}
public void setSatisfiesExpr(Expression satisfiesExpr) {
this.satisfiesExpr = satisfiesExpr;
}
@Override
public Kind getKind() {
return Kind.QUANTIFIED_EXPRESSION;
}
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.visitQuantifiedExpression(this, arg);
}
public enum Quantifier {
EVERY,
SOME
}
}