uba.db.sql.language
Class ComparisonBehavior

java.lang.Object
  extended by uba.db.sql.language.ComparisonBehavior
All Implemented Interfaces:
BooleanValue, SingleValue, Visitable
Direct Known Subclasses:
EqualComparison, GreatherThanComparison, GreatherThanEqualsComparison, LessThanComparison, LessThanEqualsComparison

public abstract class ComparisonBehavior
extends java.lang.Object
implements BooleanValue

Clase base para simplificar la creación de objetos que representen expresiones boleanas binarias.

Version:
$Revision: 1.3 $

Constructor Summary
ComparisonBehavior(SingleValue left, SingleValue right)
          Crea una operacion booleana de dos terminos.
 
Method Summary
protected abstract  boolean compareValues(java.lang.Comparable leftValue, java.lang.Comparable rightValue)
          Las sub-clases deben implementar este método para comparar dos valores.
 boolean isTrueWith(EvaluationContext context)
          Esta implementación obtiene los valores de ambos terminos usando SingleValue.valueWith(EvaluationContext) y luego delega la comparación a compareValues(Comparable, Comparable).
 SingleValue left()
          Retorna el termino a la izquierda.
protected abstract  java.lang.String operatorAsString()
          Las subclases deben implementar este método retornando la representacion en String del operador que representan.
 SingleValue right()
          Retorna el termino a la derecha.
 java.lang.String toString()
           
 java.lang.Object valueWith(EvaluationContext context)
          Evalua la condición usando el método BooleanValue.isTrueWith(EvaluationContext), pero retorna una instancia de Boolean para ser compatible con la interfaz SingleValue.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface uba.db.sql.language.Visitable
accept
 

Constructor Detail

ComparisonBehavior

public ComparisonBehavior(SingleValue left,
                          SingleValue right)
Crea una operacion booleana de dos terminos.

Parameters:
left - termino izquierdo.
right - termino derecho.
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

operatorAsString

protected abstract java.lang.String operatorAsString()
Las subclases deben implementar este método retornando la representacion en String del operador que representan.


valueWith

public java.lang.Object valueWith(EvaluationContext context)
Evalua la condición usando el método BooleanValue.isTrueWith(EvaluationContext), pero retorna una instancia de Boolean para ser compatible con la interfaz SingleValue.

Specified by:
valueWith in interface SingleValue
Parameters:
context - contexto de evaluación.
Returns:
una instancia de Boolean con el valor de verdad de BooleanValue.isTrueWith(EvaluationContext)

isTrueWith

public boolean isTrueWith(EvaluationContext context)
Esta implementación obtiene los valores de ambos terminos usando SingleValue.valueWith(EvaluationContext) y luego delega la comparación a compareValues(Comparable, Comparable).

Specified by:
isTrueWith in interface BooleanValue
Parameters:
context - contexto de evaluación.
Returns:
resultado de la evaluación en el contexto dado.
See Also:
BooleanValue.isTrueWith(EvaluationContext)

left

public SingleValue left()
Retorna el termino a la izquierda.


right

public SingleValue right()
Retorna el termino a la derecha.


compareValues

protected abstract boolean compareValues(java.lang.Comparable leftValue,
                                         java.lang.Comparable rightValue)
Las sub-clases deben implementar este método para comparar dos valores.

Parameters:
leftValue - valor a la izquierda.
rightValue - valor a la derecha
Returns:
el resultado de la comparación
See Also:
isTrueWith(EvaluationContext)


Copyright © -2005 . All Rights Reserved.