com.hardcode.gdbms.engine.instruction
Class Field

java.lang.Object
  extended by com.hardcode.gdbms.engine.instruction.Adapter
      extended by com.hardcode.gdbms.engine.instruction.AbstractExpression
          extended by com.hardcode.gdbms.engine.instruction.Field
All Implemented Interfaces:
Expression

public class Field
extends AbstractExpression
implements Expression

Clase que representa un campo en un DataSource. La clase por sí sola no identifica al campo, ya que la tabla a la que pertenece el campo viene definida por un índice entero. Esto se debe a que para definir un campo es necesario también un array de tablas sobre las que se aplica dicho índice.

Author:
Fernando González Cortés

Constructor Summary
Field()
           
 
Method Summary
 void calculateLiteralCondition()
           
 Value evaluate(long row)
          Evalúa la expresión para la fila row
 int getAbsoluteIndex()
          Devuelve el índice que ocupa el campo en la colección de los campos de todas las tablas del array tables.
 DataSource getDataSource()
          Obtiene la fuente de datos sobre la que obtiene su valor este campo en su método evaluate
 int getDataSourceIndex()
          Indice de la tabla donde se encuentra el campo al que este objeto hace referencia
 int getFieldId()
          Identificador del campo al que este objeto hace referencia
 java.lang.String getFieldName()
          Obtiene el nombre del campo en el que consiste la expresión.
 DataSource[] getTables()
          Obtiene la colección de tablas sobre las que los índices dataSourceIndex y fieldId son válidos
 boolean isLiteral()
          Indica si los operandos de esta expresión son siempre los mismos o pueden cambiar.
 void setDataSource(DataSource source)
          Establece la fuente de datos sobre la que obtiene su valor este campo en su método evaluate
 void setDataSourceIndex(int source)
          Establece el índice dentr de un array de tablas del campo al que este objeto hace referencia
 void setFieldId(int i)
          Establece el identificador al que este objeto hace referencia
 void setTables(DataSource[] sources)
          Establece la colección de tablas sobre las que se definen los índices dataSourceIndex y fieldId
 void simplify()
          Simplifica las expresiones del árbol de adaptadores
 
Methods inherited from class com.hardcode.gdbms.engine.instruction.AbstractExpression
evaluateExpression, getLiteralCondition, isAggregated
 
Methods inherited from class com.hardcode.gdbms.engine.instruction.Adapter
getChilds, getEntity, getInstructionContext, getParent, replaceChild, setChilds, setEntity, setInstructionContext, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.hardcode.gdbms.engine.instruction.Expression
evaluateExpression, isAggregated
 

Constructor Detail

Field

public Field()
Method Detail

getDataSourceIndex

public int getDataSourceIndex()
Indice de la tabla donde se encuentra el campo al que este objeto hace referencia

Returns:

getFieldId

public int getFieldId()
Identificador del campo al que este objeto hace referencia

Returns:

setDataSourceIndex

public void setDataSourceIndex(int source)
Establece el índice dentr de un array de tablas del campo al que este objeto hace referencia

Parameters:
source -

setFieldId

public void setFieldId(int i)
Establece el identificador al que este objeto hace referencia

Parameters:
i -

getTables

public DataSource[] getTables()
Obtiene la colección de tablas sobre las que los índices dataSourceIndex y fieldId son válidos

Returns:

setTables

public void setTables(DataSource[] sources)
Establece la colección de tablas sobre las que se definen los índices dataSourceIndex y fieldId

Parameters:
sources -

getAbsoluteIndex

public int getAbsoluteIndex()
                     throws DriverException
Devuelve el índice que ocupa el campo en la colección de los campos de todas las tablas del array tables.

Returns:
Índice absoluto del campo
Throws:
DriverException - Si se produce un error accediendo a las tablas

evaluate

public Value evaluate(long row)
               throws EvaluationException
Description copied from interface: Expression
Evalúa la expresión para la fila row

Specified by:
evaluate in interface Expression
Parameters:
row - fila para la que se evalua la expresión
Returns:
Valor resultante de evaluar la expresión para la fila row
Throws:
EvaluationException - Si se produce algún error semántico
See Also:
Expression.evaluate(long)

getDataSource

public DataSource getDataSource()
Obtiene la fuente de datos sobre la que obtiene su valor este campo en su método evaluate

Returns:

setDataSource

public void setDataSource(DataSource source)
Establece la fuente de datos sobre la que obtiene su valor este campo en su método evaluate

Parameters:
source -

getFieldName

public java.lang.String getFieldName()
Description copied from interface: Expression
Obtiene el nombre del campo en el que consiste la expresión. En el caso de que la expresión conste de alguna operación o no contenga ninguna referencia a un campo se devolverá null.

Specified by:
getFieldName in interface Expression
Returns:
Nombre del campo
See Also:
Expression.getFieldName()

isLiteral

public boolean isLiteral()
Description copied from interface: Expression
Indica si los operandos de esta expresión son siempre los mismos o pueden cambiar. Puede cambiar cuando el operando es una funcion o una referencia a un campo y no debe cambiar en el resto de casos

Specified by:
isLiteral in interface Expression
Returns:
true si esta expresión va a devolver siempre el mismo valor
See Also:
Expression.isLiteral()

simplify

public void simplify()
Description copied from interface: Expression
Simplifica las expresiones del árbol de adaptadores

Specified by:
simplify in interface Expression
See Also:
Expression.simplify()

calculateLiteralCondition

public void calculateLiteralCondition()
See Also:
com.hardcode.gdbms.engine.instruction.Expression#calculateLiteralCondition()


Copyright © 2005-2006 . All Rights Reserved.