Transfer version 1.1

transfer.com.tql
Class SelectStatement

WEB-INF.cftags.component
        extended by transfer.com.tql.SelectStatement

public class SelectStatement
extends WEB-INF.cftags.component

Evaluates select statements


Constructor Summary
init(TQLParser tqlParser, ObjectManager objectManager, Datasource datasource)
          Constructor
 
Method Summary
private struct evaluateAliasMapFromAST(any tree, [struct aliasMap='[runtime expression]'])
          walks the tree, and makes a struct of the aliases back to the Objects
 array evaluateSelectStatement(any tree, array evaluation, any buffer, boolean aliasColumns, boolean distinctMode, [boolean onlyRetrievePrimaryKey='false'], [string className=''])
          Evaluates all sorts of select statements
private array evaluateTopLevelAST(any tree, struct aliasMap, array evaluation, any buffer, boolean aliasColumns, boolean distinctMode)
          Loops around the AST resolving the top level
private query executeEvaluation(Query query, array evaluation)
          execute the evaluations query structure
private Datasource getDatasource()
private EvaluationCache getEvaluationCache()
private From getFrom()
private ObjectManager getObjectManager()
private OrderBy getOrderBy()
private SelectColumn getSelectColumn()
private TQLParser getTQLParser()
private Where getWhere()
 query selectStatement(Query query, boolean onlyRetrievePrimaryKey, [string className=''])
          returns a query from a TQL Select statement
private void setDatasource(Datasource Datasource)
private void setEvaluationCache(EvaluationCache EvaluationCache)
private void setFrom(From From)
private void setObjectManager(ObjectManager ObjectManager)
private void setOrderBy(OrderBy OrderBy)
private void setSelectColumn(SelectColumn SelectColumn)
private void setTQLParser(TQLParser TQLParser)
private void setWhere(Where Where)
private any throw(string type, string message, [string detail=''])
          Throws an Exception
 
Methods inherited from class WEB-INF.cftags.component
 

Constructor Detail

init

public init(TQLParser tqlParser, ObjectManager objectManager, Datasource datasource)
Constructor

Parameters:
tqlParser - The tqlParser to generate the AST for the TQL
objectManager - The object manager to query
datasource - The datasource BO
Method Detail

evaluateAliasMapFromAST

private struct evaluateAliasMapFromAST(any tree, [struct aliasMap='[runtime expression]'])
walks the tree, and makes a struct of the aliases back to the Objects

Parameters:
tree - The tree node to walk
aliasMap - The array of from evaluated values

evaluateSelectStatement

public array evaluateSelectStatement(any tree, array evaluation, any buffer, boolean aliasColumns, boolean distinctMode, [boolean onlyRetrievePrimaryKey='false'], [string className=''])
Evaluates all sorts of select statements

Parameters:
tree - The tree node to walk
evaluation - The array of evaluated values
buffer - java.lang.StringBuffer for preSQL building
aliasColumns - to alias columns or not
distinctMode - If to make the select distinct or not
onlyRetrievePrimaryKey - Only retrieve primary keys on FROM statement
className - The class to retrieve the primary key from

evaluateTopLevelAST

private array evaluateTopLevelAST(any tree, struct aliasMap, array evaluation, any buffer, boolean aliasColumns, boolean distinctMode)
Loops around the AST resolving the top level

Parameters:
tree - The tree node to walk
aliasMap - The from map
evaluation - The array of evaluated values
buffer - java.lang.StringBuffer for preSQL building
aliasColumns - to alias columns or not
distinctMode - If to make the select distinct or not

executeEvaluation

private query executeEvaluation(Query query, array evaluation)
execute the evaluations query structure

Parameters:
query - The TQL query object
evaluation - The array of evaluated values

getDatasource

private Datasource getDatasource()


getEvaluationCache

private EvaluationCache getEvaluationCache()


getFrom

private From getFrom()


getObjectManager

private ObjectManager getObjectManager()


getOrderBy

private OrderBy getOrderBy()


getSelectColumn

private SelectColumn getSelectColumn()


getTQLParser

private TQLParser getTQLParser()


getWhere

private Where getWhere()


selectStatement

public query selectStatement(Query query, boolean onlyRetrievePrimaryKey, [string className=''])
returns a query from a TQL Select statement

Parameters:
query - The TQL query object
onlyRetrievePrimaryKey - Only retrieve primary keys on FROM statement
className - The class to retrieve the primary key from

setDatasource

private void setDatasource(Datasource Datasource)

Parameters:
Datasource

setEvaluationCache

private void setEvaluationCache(EvaluationCache EvaluationCache)

Parameters:
EvaluationCache

setFrom

private void setFrom(From From)

Parameters:
From

setObjectManager

private void setObjectManager(ObjectManager ObjectManager)

Parameters:
ObjectManager

setOrderBy

private void setOrderBy(OrderBy OrderBy)

Parameters:
OrderBy

setSelectColumn

private void setSelectColumn(SelectColumn SelectColumn)

Parameters:
SelectColumn

setTQLParser

private void setTQLParser(TQLParser TQLParser)

Parameters:
TQLParser

setWhere

private void setWhere(Where Where)

Parameters:
Where

throw

private any throw(string type, string message, [string detail=''])
Throws an Exception

Parameters:
type - The type of exception
message - The message to accompany the exception
detail - The detail message for the exception

Transfer version 1.1