站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Hibernate 3.2.3 正式版 API 英文文档

SqlASTFactory (Hibernate API Documentation) - Hibernate 3.2.3 正式版 API 英文文档


org.hibernate.hql.ast
Class SqlASTFactory

java.lang.Object
  extended byantlr.ASTFactory
      extended byorg.hibernate.hql.ast.SqlASTFactory
All Implemented Interfaces:
HqlSqlTokenTypes

public class SqlASTFactory
extends antlr.ASTFactory
implements HqlSqlTokenTypes

Custom AST factory the intermediate tree that causes ANTLR to create specialized AST nodes, given the AST node type (from HqlSqlTokenTypes). HqlSqlWalker registers this factory with itself when it is initialized.

Author:
Joshua

Field Summary
 
Fields inherited from class antlr.ASTFactory
theASTNodeType, theASTNodeTypeClass, tokenTypeToASTClassMap
 
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
SqlASTFactory(HqlSqlWalker walker)
          Create factory with a specific mapping from token type to Java AST node type.
 
Method Summary
protected  antlr.collections.AST create(Class c)
          Actually instantiate the AST node.
protected  antlr.collections.AST createUsingCtor(antlr.Token token, String className)
           
 Class getASTNodeType(int tokenType)
          Returns the class for a given token type (a.k.a.
 
Methods inherited from class antlr.ASTFactory
addASTChild, create, create, create, create, create, create, create, create, dup, dupList, dupTree, error, getTokenTypeToASTClassMap, make, make, makeASTRoot, setASTNodeClass, setASTNodeClass, setASTNodeType, setTokenTypeASTNodeType, setTokenTypeToASTClassMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SqlASTFactory

public SqlASTFactory(HqlSqlWalker walker)
Create factory with a specific mapping from token type to Java AST node type. Your subclasses of ASTFactory can override and reuse the map stuff.

Method Detail

getASTNodeType

public Class getASTNodeType(int tokenType)
Returns the class for a given token type (a.k.a. AST node type).

Parameters:
tokenType - The token type.
Returns:
Class - The AST node class to instantiate.

createUsingCtor

protected antlr.collections.AST createUsingCtor(antlr.Token token,
                                                String className)

create

protected antlr.collections.AST create(Class c)
Actually instantiate the AST node.

Parameters:
c - The class to instantiate.
Returns:
The instantiated and initialized node.