org.hibernate.hql.ast.util
Class LiteralProcessor

java.lang.Object
  extended by org.hibernate.hql.ast.util.LiteralProcessor
All Implemented Interfaces:
HqlSqlTokenTypes

public class LiteralProcessor
extends Object
implements HqlSqlTokenTypes

A delegate that handles literals and constants for HqlSqlWalker, performing the token replacement functions and classifying literals.

Author:
josh Sep 2, 2004 7:15:30 AM

Field Summary
static int APPROXIMATE
          Indicates that Float and Double literal values should be treated using the SQL "approximate" format (i.e., '1E-3')
static int DECIMAL_LITERAL_FORMAT
          In what format should Float and Double literal values be sent to the database?
static int EXACT
          Indicates that Float and Double literal values should be treated using the SQL "exact" format (i.e., '.001')
 
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
LiteralProcessor(HqlSqlWalker hqlSqlWalker)
           
 
Method Summary
 String determineDecimalRepresentation(String text, int type)
           
 boolean isAlias(String alias)
           
 void lookupConstant(DotNode node)
           
 void processBoolean(antlr.collections.AST constant)
           
 void processConstant(antlr.collections.AST constant, boolean resolveIdent)
           
 void processNumeric(antlr.collections.AST literal)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXACT

public static final int EXACT
Indicates that Float and Double literal values should be treated using the SQL "exact" format (i.e., '.001')

See Also:
Constant Field Values

APPROXIMATE

public static final int APPROXIMATE
Indicates that Float and Double literal values should be treated using the SQL "approximate" format (i.e., '1E-3')

See Also:
Constant Field Values

DECIMAL_LITERAL_FORMAT

public static int DECIMAL_LITERAL_FORMAT
In what format should Float and Double literal values be sent to the database?

See Also:
#EXACT, #APPROXIMATE
Constructor Detail

LiteralProcessor

public LiteralProcessor(HqlSqlWalker hqlSqlWalker)
Method Detail

isAlias

public boolean isAlias(String alias)

processConstant

public void processConstant(antlr.collections.AST constant,
                            boolean resolveIdent)
                     throws antlr.SemanticException
Throws:
antlr.SemanticException

lookupConstant

public void lookupConstant(DotNode node)
                    throws antlr.SemanticException
Throws:
antlr.SemanticException

processBoolean

public void processBoolean(antlr.collections.AST constant)

processNumeric

public void processNumeric(antlr.collections.AST literal)

determineDecimalRepresentation

public String determineDecimalRepresentation(String text,
                                             int type)