All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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);
	}

	

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy