vishnu.parser.expressions
Class AbstractSQLBinaryOperator

java.lang.Object
  extended by vishnu.parser.expressions.AbstractSQLBinaryOperator
All Implemented Interfaces:
SQLBinaryOperator, SQLOperand
Direct Known Subclasses:
SQLAndOperator, SQLEqualOperator, SQLGreaterOperator, SQLGreaterOrEqualOperator, SQLLessOperator, SQLLessOrEqualOperator, SQLNotEqualOperator, SQLOrOperator

public abstract class AbstractSQLBinaryOperator
extends java.lang.Object
implements SQLBinaryOperator

Esta clase implementa una base reusable para operadores de SQL binarios.

Author:
Hernan Rancati
 

Constructor Summary
AbstractSQLBinaryOperator(SQLOperand leftOperand, SQLOperand rightOperand)
           
 
Method Summary
 boolean equals(java.lang.Object o)
           
 boolean equals(SQLOperand o)
           
 Value evaluate(Record r)
          evalua el resultado de la expresion representada por este operador sobre el registro r.
 int hashCode()
           
 SQLOperand leftOperand()
          retorna el operador binario de la izquierda.
protected abstract  Value operateOn(Value leftValue, Value rightValue)
          este metodo debe ser implementado por las subclases, definiendo el resultado a obtener en funcion de los operadores de la izquierda y la derecha.
 SQLOperand rightOperand()
          retorna el operador binario de la derecha.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractSQLBinaryOperator

public AbstractSQLBinaryOperator(SQLOperand leftOperand,
                                 SQLOperand rightOperand)
Method Detail

leftOperand

public SQLOperand leftOperand()
retorna el operador binario de la izquierda.

Specified by:
leftOperand in interface SQLBinaryOperator

rightOperand

public SQLOperand rightOperand()
retorna el operador binario de la derecha.

Specified by:
rightOperand in interface SQLBinaryOperator

evaluate

public Value evaluate(Record r)
Description copied from interface: SQLOperand
evalua el resultado de la expresion representada por este operador sobre el registro r.

Specified by:
evaluate in interface SQLOperand

operateOn

protected abstract Value operateOn(Value leftValue,
                                   Value rightValue)
este metodo debe ser implementado por las subclases, definiendo el resultado a obtener en funcion de los operadores de la izquierda y la derecha.


equals

public boolean equals(SQLOperand o)
Specified by:
equals in interface SQLOperand

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object