com.evuv.expressions.OrExpression Maven / Gradle / Ivy
package com.evuv.expressions;
import java.util.Map;
import com.evuv.exceptions.EventBindingException;
public class OrExpression implements Expression, BindedExpression {
protected Expression left;
protected Expression right;
public OrExpression(){}
public OrExpression(Expression left, Expression right) {
this.left = left;
this.right = right;
}
@SuppressWarnings("unchecked")
@Override
public Boolean getValue() {
return ((BindedExpression)left).getValue() || ((BindedExpression)right).getValue();
}
public Expression getLeft() {
return left;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void setLeft(Expression left) {
this.left = left;
}
public Expression getRight() {
return right;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void setRight(Expression right) {
this.right = right;
}
@SuppressWarnings("unchecked")
@Override
public OrExpression bind(Map event) throws EventBindingException {
BindedExpression bindedLeft = left.bind(event);
BindedExpression bindedRight = right.bind(event);
return new OrExpression((Expression)bindedLeft, (Expression)bindedRight);
}
}