vishnu.model.algebra.algorithms
Interface Algorithm

All Known Subinterfaces:
BinaryAlgorithm, UnaryAlgorithm
All Known Implementing Classes:
AbstractJoinAlgorithm, AbstractSelectionAlgorithm, DefaultCartesianProductAlgorithm, DefaultProjectionAlgorithm, DifferenceAlgorithm, HashIndexEqualitySelectionAlgorithm, HashJoinAlgorithm, IndexNestedLoopJoinAlgorithm, MeritAlgorithm, NoIndexSortedDataSelectionAlgorithm, ScanSelectionAlgorithm, SortMergeJoinAlgorithm, UnionAlgorithm

public interface Algorithm

Author:
Hernan Rancati y Mariano Tepper
 

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.
 boolean isCanceled()
          Indica si el algoritmo fue cancelado.
 void perform(Relation.Context c)
          Ejecuta el algoritmo con el contexto dado
 

Method Detail

attach

void attach(Relation r)
Vincula una relacion al algoritmo para su ejecucion.

Parameters:
r - - la relacion sobre la que se ejecutara el algoritmo.

perform

void perform(Relation.Context c)
Ejecuta el algoritmo con el contexto dado

Parameters:
c - - el contexto de ejecucion.

cancel

void cancel()
Cancela la ejecucion del algoritmo.


isCanceled

boolean isCanceled()
Indica si el algoritmo fue cancelado.

Returns:
true si fue cancelado, false si no.

canBePerformed

boolean canBePerformed()
Indica si el algoritmo puede ser ejecutado sobre la relacion definida.

Returns:
true si puede ser ejecutado, false si no.

clone

Algorithm clone()
Clona el algoritmo.