org.hibernate.hql.ast.tree

Class FromClause

Implemented Interfaces:
DisplayableNode, HqlSqlTokenTypes, InitializeableNode

public class FromClause
extends HqlSqlWalkerNode
implements HqlSqlTokenTypes, DisplayableNode

Represents the 'FROM' part of a query or subquery, containing all mapped class references.
Author:
josh

Field Summary

static int
ROOT_LEVEL

Fields inherited from interface org.hibernate.hql.antlr.HqlSqlTokenTypes

AGGREGATE, ALIAS, ALIAS_REF, ALL, AND, ANY, AS, ASCENDING, AVG, BETWEEN, BOGUS, BOTH, CASE, CASE2, CLASS, CLOSE, CLOSE_BRACKET, COLON, COMMA, CONCAT, CONSTANT, CONSTRUCTOR, COUNT, DELETE, DESCENDING, DISTINCT, DIV, DOT, ELEMENTS, ELSE, EMPTY, END, EOF, EQ, ESCAPE, ESCqs, EXISTS, EXPONENT, EXPR_LIST, FALSE, FETCH, FILTERS, FILTER_ENTITY, FLOAT_SUFFIX, FROM, FROM_FRAGMENT, FULL, GE, GROUP, GT, HAVING, HEX_DIGIT, IDENT, ID_LETTER, ID_START_LETTER, IMPLIED_FROM, IN, INDEX_OP, INDICES, INNER, INSERT, INTO, IN_LIST, IS, IS_NOT_NULL, IS_NULL, JAVA_CONSTANT, JOIN, JOIN_FRAGMENT, LE, LEADING, LEFT, LEFT_OUTER, LIKE, LITERAL_ascending, LITERAL_by, LITERAL_descending, LT, MAX, MEMBER, METHOD_CALL, METHOD_NAME, MIN, MINUS, NAMED_PARAM, NE, NEW, NOT, NOT_BETWEEN, NOT_IN, NOT_LIKE, NULL, NULL_TREE_LOOKAHEAD, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OBJECT, OF, ON, OPEN, OPEN_BRACKET, OR, ORDER, ORDER_ELEMENT, OUTER, PARAM, PLUS, PROPERTIES, PROPERTY_REF, QUERY, QUOTED_STRING, RANGE, RIGHT, RIGHT_OUTER, ROW_STAR, SELECT, SELECT_CLAUSE, SELECT_COLUMNS, SELECT_EXPR, SELECT_FROM, SET, SOME, SQL_NE, SQL_TOKEN, STAR, SUM, THEN, THETA_JOINS, TRAILING, TRUE, UNARY_MINUS, UNARY_PLUS, UNION, UPDATE, VECTOR_EXPR, VERSIONED, WEIRD_IDENT, WHEN, WHERE, WITH, WS

Method Summary

FromElement
addFromElement(String path, AST alias)
Adds a new from element to the from node.
void
addImpliedFromElement(FromElement element)
boolean
containsClassAlias(String alias)
Returns true if the from node contains the class alias name.
boolean
containsTableAlias(String alias)
Returns true if the from node contains the table alias name.
List
getCollectionFetches()
String
getDisplayText()
Returns additional display text for the AST node.
List
getExplicitFromElements()
FromElement
getFromElement()
FromElement
getFromElement(String aliasOrClassName)
Retreives the from-element represented by the given alias.
List
getFromElements()
Returns the list of from elements in order.
int
getLevel()
FromClause
getParentFromClause()
List
getProjectionList()
Returns the list of from elements that will be part of the result set.
boolean
hasCollectionFecthes()
boolean
isFromElementAlias(String possibleAlias)
Convenience method to check whether a given token represents a from-element alias.
boolean
isSubQuery()
FromClause
locateChildFromClauseWithJoinByPath(String path)
int
nextFromElementCounter()
void
promoteJoin(FromElement elem)
void
resolve()
void
setParentFromClause(FromClause parentFromClause)
String
toString()

Methods inherited from class org.hibernate.hql.ast.tree.HqlSqlWalkerNode

getASTFactory, getAliasGenerator, getSessionFactoryHelper, getWalker, initialize

Methods inherited from class org.hibernate.hql.ast.tree.SqlNode

getDataType, getOriginalText, setDataType, setText

Methods inherited from class org.hibernate.hql.ast.tree.Node

getColumn, getFilename, getLine, getRenderText, getTextLength, initialize, initialize

Field Details

ROOT_LEVEL

public static final int ROOT_LEVEL
Field Value:
1

Method Details

addFromElement

public FromElement addFromElement(String path,
                                  AST alias)
            throws SemanticException
Adds a new from element to the from node.
Parameters:
path - The reference to the class.
alias - The alias AST.
Returns:
FromElement - The new FROM element.

addImpliedFromElement

public void addImpliedFromElement(FromElement element)

containsClassAlias

public boolean containsClassAlias(String alias)
Returns true if the from node contains the class alias name.
Parameters:
alias - The HQL class alias name.
Returns:
true if the from node contains the class alias name.

containsTableAlias

public boolean containsTableAlias(String alias)
Returns true if the from node contains the table alias name.
Parameters:
alias - The SQL table alias name.
Returns:
true if the from node contains the table alias name.

getCollectionFetches

public List getCollectionFetches()

getDisplayText

public String getDisplayText()
Returns additional display text for the AST node.
Specified by:
getDisplayText in interface DisplayableNode
Returns:
String - The additional display text.

getExplicitFromElements

public List getExplicitFromElements()

getFromElement

public FromElement getFromElement()

getFromElement

public FromElement getFromElement(String aliasOrClassName)
Retreives the from-element represented by the given alias.
Parameters:
aliasOrClassName - The alias by which to locate the from-element.
Returns:
The from-element assigned the given alias, or null if none.

getFromElements

public List getFromElements()
Returns the list of from elements in order.
Returns:
the list of from elements (instances of FromElement).

getLevel

public int getLevel()

getParentFromClause

public FromClause getParentFromClause()

getProjectionList

public List getProjectionList()
Returns the list of from elements that will be part of the result set.
Returns:
the list of from elements that will be part of the result set.

hasCollectionFecthes

public boolean hasCollectionFecthes()

isFromElementAlias

public boolean isFromElementAlias(String possibleAlias)
Convenience method to check whether a given token represents a from-element alias.
Parameters:
possibleAlias - The potential from-element alias to check.
Returns:
True if the possibleAlias is an alias to a from-element visible from this point in the query graph.

isSubQuery

public boolean isSubQuery()

locateChildFromClauseWithJoinByPath

public FromClause locateChildFromClauseWithJoinByPath(String path)

nextFromElementCounter

public int nextFromElementCounter()

promoteJoin

public void promoteJoin(FromElement elem)

resolve

public void resolve()

setParentFromClause

public void setParentFromClause(FromClause parentFromClause)

toString

public String toString()