package org.nlamah.QL.Model.Expression.Abstract; import org.nlamah.QBase.Constants.QBaseQuestionType; public abstract class BinaryExpression extends ComposedExpression { private Expression leftHandExpression; private Expression rightHandExpression; public BinaryExpression(Expression leftHandExpression, Expression rightHandExpression, QBaseQuestionType type) { super(type); this.leftHandExpression = leftHandExpression; this.rightHandExpression = rightHandExpression; leftHandExpression.setParentNode(this); rightHandExpression.setParentNode(this); } public Expression leftHandExpression() { return this.leftHandExpression; } public Expression rightHandExpression() { return this.rightHandExpression; } @Override public boolean equals(Object object) { if (!super.equals(object)) { return false; } if (!(object instanceof BinaryExpression)) { return false; } BinaryExpression value = (BinaryExpression)object; if (!(this.leftHandExpression.equals(value.leftHandExpression))) { return false; } if (!(this.rightHandExpression.equals(value.rightHandExpression))) { return false; } return true; } }