org.hibernate.hql.ast.tree
Class FromClause

java.lang.Object
  extended by antlr.BaseAST
      extended by antlr.CommonAST
          extended by org.hibernate.hql.ast.tree.Node
              extended by org.hibernate.hql.ast.tree.SqlNode
                  extended by org.hibernate.hql.ast.tree.HqlSqlWalkerNode
                      extended by org.hibernate.hql.ast.tree.FromClause
All Implemented Interfaces:
antlr.collections.AST, Serializable, HqlSqlTokenTypes, DisplayableNode, 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
See Also:
Serialized Form

Field Summary
static int ROOT_LEVEL
           
 
Fields inherited from class antlr.BaseAST
down, right
 
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, FILTER_ENTITY, FILTERS, FLOAT_SUFFIX, FROM, FROM_FRAGMENT, FULL, GE, GROUP, GT, HAVING, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, IMPLIED_FROM, IN, IN_LIST, INDEX_OP, INDICES, INNER, INSERT, INTO, 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
 
Constructor Summary
FromClause()
           
 
Method Summary
 FromElement addFromElement(String path, antlr.collections.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
getAliasGenerator, getASTFactory, 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
 
Methods inherited from class antlr.CommonAST
getText, getType, initialize, setType
 
Methods inherited from class antlr.BaseAST
addChild, decode, encode, equals, equalsList, equalsListPartial, equalsTree, equalsTreePartial, findAll, findAllPartial, getFirstChild, getNextSibling, getNumberOfChildren, getTokenNames, removeChildren, setFirstChild, setNextSibling, setVerboseStringConversion, toStringList, toStringTree, xmlSerialize, xmlSerializeNode, xmlSerializeRootClose, xmlSerializeRootOpen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ROOT_LEVEL

public static final int ROOT_LEVEL
See Also:
Constant Field Values
Constructor Detail

FromClause

public FromClause()
Method Detail

addFromElement

public FromElement addFromElement(String path,
                                  antlr.collections.AST alias)
                           throws antlr.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.
Throws:
antlr.SemanticException

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.

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.

getFromElements

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

Returns:
the list of from elements (instances of FromElement).

getFromElement

public FromElement getFromElement()

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.

getCollectionFetches

public List getCollectionFetches()

hasCollectionFecthes

public boolean hasCollectionFecthes()

getExplicitFromElements

public List getExplicitFromElements()

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.

getDisplayText

public String getDisplayText()
Description copied from interface: DisplayableNode
Returns additional display text for the AST node.

Specified by:
getDisplayText in interface DisplayableNode
Returns:
String - The additional display text.

setParentFromClause

public void setParentFromClause(FromClause parentFromClause)

locateChildFromClauseWithJoinByPath

public FromClause locateChildFromClauseWithJoinByPath(String path)

promoteJoin

public void promoteJoin(FromElement elem)

isSubQuery

public boolean isSubQuery()

getParentFromClause

public FromClause getParentFromClause()

getLevel

public int getLevel()

nextFromElementCounter

public int nextFromElementCounter()

resolve

public void resolve()

addImpliedFromElement

public void addImpliedFromElement(FromElement element)

toString

public String toString()
Specified by:
toString in interface antlr.collections.AST
Overrides:
toString in class antlr.BaseAST