vishnu.model.algebra
Class RelationAdapter

java.lang.Object
  extended by vishnu.model.algebra.RelationAdapter
All Implemented Interfaces:
LeafRelation, Relation

public class RelationAdapter
extends java.lang.Object
implements LeafRelation

Esta clase adapta un tabla como una relacion. Permitiendo definir las relaciones hoja del arbol de ejecucion ya que no son operaciones del algebra sino relaciones sobre tablas. pattern: Adapter

Author:
Hernan Rancati
 

Nested Class Summary
 
Nested classes/interfaces inherited from interface vishnu.model.algebra.Relation
Relation.Context, Relation.ContextNotSelectedException
 
Constructor Summary
RelationAdapter(java.lang.String tableName)
          construye un adaptador para la tabla elegida.
 
Method Summary
 Algorithm algorithm()
          Devuelve el algoritmo designado para ejecutar esta relacion.
 void algorithm(Algorithm a)
          Setea el algoritmo para ejecutar esta relacion.
 void database(Database d)
           
 boolean equals(java.lang.Object o)
           
 boolean hasChanged()
          Indica si se realizaro alguna modifiaccion en la relacion.
 int hashCode()
           
 void perform(Relation.Context c)
          Ejecuta la relacion.
 void setChanged()
          Pone en true el flag de cambios de la relacion.
 void setContext(UserContext context)
          Setea el esquema de la relacion.
 TableSignature signature()
          Devuelve la signautra de la relacion.
 java.lang.String tableName()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RelationAdapter

public RelationAdapter(java.lang.String tableName)
construye un adaptador para la tabla elegida.

Method Detail

perform

public void perform(Relation.Context c)
Ejecuta la relacion. Dado que no hay operacion a realizar, simplemente obtiene la tabla del administrador de bases de datos y la devuelve en el contexto.

Specified by:
perform in interface Relation
Parameters:
c - - el contexto de ejecución de la relacion.

toString

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

tableName

public java.lang.String tableName()
Returns:
the table name over which this relation works.

database

public void database(Database d)

signature

public TableSignature signature()
                         throws Relation.ContextNotSelectedException
Description copied from interface: Relation
Devuelve la signautra de la relacion.

Specified by:
signature in interface Relation
Throws:
Relation.ContextNotSelectedException
Returns:
la signatura de la relacion.

hasChanged

public boolean hasChanged()
Description copied from interface: Relation
Indica si se realizaro alguna modifiaccion en la relacion.

Specified by:
hasChanged in interface Relation
Returns:
true si se realizaron cambios, false si no.

setChanged

public void setChanged()
Description copied from interface: Relation
Pone en true el flag de cambios de la relacion.

Specified by:
setChanged in interface Relation

algorithm

public Algorithm algorithm()
Description copied from interface: Relation
Devuelve el algoritmo designado para ejecutar esta relacion.

Specified by:
algorithm in interface Relation
Returns:
el algoritmo que ejecuta esta relacion.

algorithm

public void algorithm(Algorithm a)
Description copied from interface: Relation
Setea el algoritmo para ejecutar esta relacion.

Specified by:
algorithm in interface Relation
Parameters:
a - - el algoritmo co el que se ejecutara la relacion.

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

setContext

public void setContext(UserContext context)
Description copied from interface: Relation
Setea el esquema de la relacion.

Specified by:
setContext in interface Relation