com.hardcode.gdbms.engine.data.db
Class DelegatingStrategy

java.lang.Object
  extended by com.hardcode.gdbms.engine.strategies.Strategy
      extended by com.hardcode.gdbms.engine.data.db.DelegatingStrategy
All Implemented Interfaces:
StrategyCriterion

public class DelegatingStrategy
extends Strategy
implements StrategyCriterion

Strategy that delegates the execution of the select queries on the underlying data base management system. The result of this delegation is a view created on that system so it's necessary call DataSourceFactory.freeResources() to the views to be removed


Constructor Summary
DelegatingStrategy(DataSourceFactory dataSourceFactory)
           
 
Method Summary
 Strategy getStrategy(CustomAdapter instr)
          Gets the only strategy to execute custom queries
 Strategy getStrategy(SelectAdapter instr)
          Obtiene la estrategia más adecuada en función de la instrucción a ejecutar y de las condiciones actuales del sistema
 Strategy getStrategy(UnionAdapter instr)
          Obtiene la estrategia óptima para ejecutar la instrucción de union que se pasa como parámetro
 boolean isDelegating()
           
 void registerView(java.lang.String tableName, java.lang.String viewName)
          associates the gdbms name 'tableName' with the underlaying dbms view name 'viewName'.
 DataSource select(SelectAdapter instr)
          Realiza una select a partir de la instrucción que se pasa como parámetro
 void setDelegating(boolean delegating)
           
 
Methods inherited from class com.hardcode.gdbms.engine.strategies.Strategy
custom, union
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingStrategy

public DelegatingStrategy(DataSourceFactory dataSourceFactory)
Method Detail

registerView

public void registerView(java.lang.String tableName,
                         java.lang.String viewName)
associates the gdbms name 'tableName' with the underlaying dbms view name 'viewName'.

Parameters:
tableName - gdbms name
viewName - view name

select

public DataSource select(SelectAdapter instr)
                  throws ExecutionException
Description copied from class: Strategy
Realiza una select a partir de la instrucción que se pasa como parámetro

Overrides:
select in class Strategy
Parameters:
instr - Objeto con la información sobre las tablas que entran en juego en la instrucción, campos, expresiones condicionales, ...
Returns:
DataSource con el resultado de la instruccion
Throws:
ExecutionException - The query failed

getStrategy

public Strategy getStrategy(SelectAdapter instr)
Description copied from interface: StrategyCriterion
Obtiene la estrategia más adecuada en función de la instrucción a ejecutar y de las condiciones actuales del sistema

Specified by:
getStrategy in interface StrategyCriterion
Parameters:
instr - Instrucción que se desea ejecutar
Returns:
estrategia capaz de ejecutar la instrucción

getStrategy

public Strategy getStrategy(UnionAdapter instr)
Description copied from interface: StrategyCriterion
Obtiene la estrategia óptima para ejecutar la instrucción de union que se pasa como parámetro

Specified by:
getStrategy in interface StrategyCriterion
Parameters:
instr - instrucción que se quiere ejecutar
Returns:

getStrategy

public Strategy getStrategy(CustomAdapter instr)
Description copied from interface: StrategyCriterion
Gets the only strategy to execute custom queries

Specified by:
getStrategy in interface StrategyCriterion
Parameters:
instr - root node of the custom query to execute
Returns:
Strategy

isDelegating

public boolean isDelegating()

setDelegating

public void setDelegating(boolean delegating)


Copyright © 2005-2006 . All Rights Reserved.