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

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy