vishnu.model.algebra
Interface Relation

All Known Subinterfaces:
BinaryRelation, Join, LeafRelation, Selection, UnaryRelation
All Known Implementing Classes:
AbstractBinaryRelation, AbstractUnaryRelation, CartesianProduct, ConjunctiveSelection, Division, EquiJoin, Intersection, MixedJoin, MixedSelection, Projection, RelationAdapter, Renaming, Substraction, Union

public interface Relation

Author:
Mariano Tepper Esta clase modela las relaciones del algebra relacional.
 

Nested Class Summary
static class Relation.Context
          Esta clase representa el contexto de ejecucion de una relacion del algebra relacional.
static class Relation.ContextNotSelectedException
           
 
Method Summary
 Algorithm algorithm()
          Devuelve el algoritmo designado para ejecutar esta relacion.
 void algorithm(Algorithm a)
          Setea el algoritmo para ejecutar esta relacion.
 boolean hasChanged()
          Indica si se realizaro alguna modifiaccion en la relacion.
 void perform(Relation.Context c)
          Ejecuta la relacion sobre el contexto dado (el contexto permite asignar la tabla de resultado).
 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.
 

Method Detail

setContext

void setContext(UserContext context)
Setea el esquema de la relacion.

Parameters:
d - - el esquema de la relacion.

hasChanged

boolean hasChanged()
Indica si se realizaro alguna modifiaccion en la relacion.

Returns:
true si se realizaron cambios, false si no.

setChanged

void setChanged()
Pone en true el flag de cambios de la relacion.


signature

TableSignature signature()
                         throws Relation.ContextNotSelectedException
Devuelve la signautra de la relacion.

Throws:
DatabaseNotSelectedException
Relation.ContextNotSelectedException
Returns:
la signatura de la relacion.

algorithm

Algorithm algorithm()
Devuelve el algoritmo designado para ejecutar esta relacion.

Returns:
el algoritmo que ejecuta esta relacion.

algorithm

void algorithm(Algorithm a)
Setea el algoritmo para ejecutar esta relacion.

Parameters:
a - - el algoritmo co el que se ejecutara la relacion.

perform

void perform(Relation.Context c)
Ejecuta la relacion sobre el contexto dado (el contexto permite asignar la tabla de resultado).

Parameters:
c - - el contexto de ejecución de la relacion.