org.hibernate.hql.ast.util
Class JoinProcessor

java.lang.Object
  extended byorg.hibernate.hql.ast.util.JoinProcessor
All Implemented Interfaces:
SqlTokenTypes

public class JoinProcessor
extends Object
implements SqlTokenTypes

Performs the post-processing of the join information gathered during semantic analysis. The join generating classes are complex, this encapsulates some of the JoinSequence-related code.

Author:
Joshua Davis

Field Summary
 
Fields inherited from interface org.hibernate.hql.antlr.SqlTokenTypes
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_NODE, 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
JoinProcessor(HqlSqlWalker walker)
          Constructs a new JoinProcessor.
 
Method Summary
static void processDynamicFilterParameters(String sqlFragment, ParameterContainer container, HqlSqlWalker walker)
           
 void processJoins(QueryNode query)
           
static int toHibernateJoinType(int astJoinType)
          Translates an AST join type (i.e., the token type) into a JoinFragment.XXX join type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinProcessor

public JoinProcessor(HqlSqlWalker walker)
Constructs a new JoinProcessor.

Parameters:
walker - The walker to which we are bound, giving us access to needed resources.
Method Detail

toHibernateJoinType

public static int toHibernateJoinType(int astJoinType)
Translates an AST join type (i.e., the token type) into a JoinFragment.XXX join type.

Parameters:
astJoinType - The AST join type (from HqlSqlTokenTypes or SqlTokenTypes)
Returns:
a JoinFragment.XXX join type.
See Also:
JoinFragment, SqlTokenTypes

processJoins

public void processJoins(QueryNode query)

processDynamicFilterParameters

public static void processDynamicFilterParameters(String sqlFragment,
                                                  ParameterContainer container,
                                                  HqlSqlWalker walker)