org.hibernate.hql.ast.util

Class LiteralProcessor

Implemented Interfaces:
HqlSqlTokenTypes

public class LiteralProcessor
extends java.lang.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, 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

Constructor Summary

LiteralProcessor(HqlSqlWalker hqlSqlWalker)

Method Summary

String
determineDecimalRepresentation(String text, int type)
boolean
isAlias(String alias)
void
lookupConstant(DotNode node)
void
processBoolean(AST constant)
void
processConstant(AST constant, boolean resolveIdent)
void
processNumeric(AST literal)

Field Details

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')
Field Value:
1

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:
#APPROXIMATE

EXACT

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

Constructor Details

LiteralProcessor

public LiteralProcessor(HqlSqlWalker hqlSqlWalker)

Method Details

determineDecimalRepresentation

public String determineDecimalRepresentation(String text,
                                             int type)

isAlias

public boolean isAlias(String alias)

lookupConstant

public void lookupConstant(DotNode node)
            throws SemanticException

processBoolean

public void processBoolean(AST constant)

processConstant

public void processConstant(AST constant,
                            boolean resolveIdent)
            throws SemanticException

processNumeric

public void processNumeric(AST literal)