vishnu.model.algebra.algorithms.projection
Class DefaultProjectionAlgorithm

java.lang.Object
  extended by vishnu.model.algebra.algorithms.projection.DefaultProjectionAlgorithm
All Implemented Interfaces:
Algorithm, UnaryAlgorithm

public class DefaultProjectionAlgorithm
extends java.lang.Object
implements UnaryAlgorithm

Esta clase implementa un algoritmo de proyeccion basico. Como el subset de SQL soportado no incluye el operador DISTINCT, no es necesario implementar la eliminacion de duplicados. Entonces no tiene sentido implementar otros algoritmos de proyeccion.

Author:
Hernan Rancati
 

Constructor Summary
DefaultProjectionAlgorithm()
           
 
Method Summary
 void attach(Relation r)
          Vincula una relacion al algoritmo para su ejecucion.
 boolean canBePerformed()
          Indica si el algoritmo puede ser ejecutado sobre la relacion definida.
 void cancel()
          Cancela la ejecucion del algoritmo.
 Algorithm clone()
          Clona el algoritmo.
protected  void copyTable(Table destTable, Table sourceTable, Session session)
           
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 void innerTable(TableContext c)
          Setea la tabla interior del algoritmo.
 boolean isCanceled()
          Indica si el algoritmo fue cancelado.
 void perform(Relation.Context c)
          Ejecuta el algoritmo con el contexto dado
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefaultProjectionAlgorithm

public DefaultProjectionAlgorithm()
Method Detail

attach

public void attach(Relation r)
Description copied from interface: Algorithm
Vincula una relacion al algoritmo para su ejecucion.

Specified by:
attach in interface Algorithm
Parameters:
r - - la relacion sobre la que se ejecutara el algoritmo.

copyTable

protected void copyTable(Table destTable,
                         Table sourceTable,
                         Session session)

perform

public void perform(Relation.Context c)
Description copied from interface: Algorithm
Ejecuta el algoritmo con el contexto dado

Specified by:
perform in interface Algorithm
Parameters:
c - - el contexto de ejecucion.

innerTable

public void innerTable(TableContext c)
Description copied from interface: UnaryAlgorithm
Setea la tabla interior del algoritmo.

Specified by:
innerTable in interface UnaryAlgorithm
Parameters:
c - - la tabla interior del algoritmo.

cancel

public void cancel()
Description copied from interface: Algorithm
Cancela la ejecucion del algoritmo.

Specified by:
cancel in interface Algorithm

isCanceled

public boolean isCanceled()
Description copied from interface: Algorithm
Indica si el algoritmo fue cancelado.

Specified by:
isCanceled in interface Algorithm
Returns:
true si fue cancelado, false si no.

canBePerformed

public boolean canBePerformed()
Description copied from interface: Algorithm
Indica si el algoritmo puede ser ejecutado sobre la relacion definida.

Specified by:
canBePerformed in interface Algorithm
Returns:
true si puede ser ejecutado, false si no.

toString

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

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

clone

public Algorithm clone()
Description copied from interface: Algorithm
Clona el algoritmo.

Specified by:
clone in interface Algorithm
Overrides:
clone in class java.lang.Object