com.evuv.expressions.ExistsExpression Maven / Gradle / Ivy
package com.evuv.expressions;
import java.util.List;
import java.util.Map;
import com.evuv.exceptions.EventBindingException;
import com.evuv.operators.ExistsOperator;
public class ExistsExpression implements Expression, BindedExpression {
protected ExistsOperator operator;
@SuppressWarnings("rawtypes")
SimplePropertyExpression left;
public ExistsExpression(){}
@SuppressWarnings("rawtypes")
public ExistsExpression(SimplePropertyExpression left) {
this.left = left;
operator = new ExistsOperator();
}
@SuppressWarnings("unchecked")
@Override
public Boolean getValue() {
return operator.op(left, left);
}
@SuppressWarnings("rawtypes")
@Override
public Expression getLeft() {
return left;
}
@SuppressWarnings({ "rawtypes" })
@Override
public void setLeft(Expression left) {
if ( left instanceof SimplePropertyExpression) {
this.left = (SimplePropertyExpression)left;
}
}
@SuppressWarnings({ "rawtypes" })
@Override
public Expression getRight() {
return null;
}
@SuppressWarnings({ "rawtypes"})
@Override
public void setRight(Expression right) {}
@Override
public List toFlatExression() {
return BaseExpression.toFlatExression(left, left, operator);
}
@SuppressWarnings("unchecked")
@Override
public ExistsExpression bind(Map event) throws EventBindingException {
SimplePropertyExpression bindedLeft = left.bind(event);
return new ExistsExpression<>(bindedLeft);
}
}