org.hibernate.hql.internal.ast.tree
Class AbstractMapComponentNode

java.lang.Object
  extended by antlr.BaseAST
      extended by antlr.CommonAST
          extended by org.hibernate.hql.internal.ast.tree.Node
              extended by org.hibernate.hql.internal.ast.tree.SqlNode
                  extended by org.hibernate.hql.internal.ast.tree.HqlSqlWalkerNode
                      extended by org.hibernate.hql.internal.ast.tree.AbstractSelectExpression
                          extended by org.hibernate.hql.internal.ast.tree.FromReferenceNode
                              extended by org.hibernate.hql.internal.ast.tree.AbstractMapComponentNode
All Implemented Interfaces:
antlr.collections.AST, Serializable, HqlSqlTokenTypes, DisplayableNode, InitializeableNode, PathNode, ResolvableNode, SelectExpression
Direct Known Subclasses:
MapEntryNode, MapKeyNode, MapValueNode

public abstract class AbstractMapComponentNode
extends FromReferenceNode
implements HqlSqlTokenTypes

Basic support for KEY, VALUE and ENTRY based "qualified identification variables".

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.hibernate.hql.internal.ast.tree.FromReferenceNode
ROOT_LEVEL
 
Fields inherited from class antlr.BaseAST
down, right
 
Fields inherited from interface org.hibernate.hql.internal.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, ENTRY, 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, KEY, LE, LEADING, LEFT, LEFT_OUTER, LIKE, LITERAL_ascending, LITERAL_by, LITERAL_descending, LT, MAX, MEMBER, METHOD_CALL, METHOD_NAME, MIN, MINUS, MOD, NAMED_PARAM, NE, NEW, NOT, NOT_BETWEEN, NOT_IN, NOT_LIKE, NULL, NULL_TREE_LOOKAHEAD, NUM_BIG_DECIMAL, NUM_BIG_INTEGER, 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, RESULT_VARIABLE_REF, 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, VALUE, VECTOR_EXPR, VERSIONED, WEIRD_IDENT, WHEN, WHERE, WITH, WS
 
Constructor Summary
AbstractMapComponentNode()
           
 
Method Summary
protected  antlr.SemanticException attemptedDereference()
           
protected abstract  String expressionDescription()
           
 String[] getColumns()
           
 FromReferenceNode getMapReference()
           
protected  antlr.SemanticException nonMap()
           
 void resolve(boolean generateJoin, boolean implicitJoin, String classAlias, antlr.collections.AST parent)
          Does the work of resolving an identifier or a dot
protected abstract  String[] resolveColumns(QueryableCollection collectionPersister)
           
 void resolveIndex(antlr.collections.AST parent)
          Does the work of resolving an an index [].
protected abstract  Type resolveType(QueryableCollection collectionPersister)
           
 void setScalarColumnText(int i)
          Appends AST nodes that represent the columns after the current AST node.
 
Methods inherited from class org.hibernate.hql.internal.ast.tree.FromReferenceNode
getDisplayText, getFromElement, getImpliedJoin, getPath, isResolved, isReturnableEntity, prepareForDot, recursiveResolve, recursiveResolve, resolve, resolve, resolveFirstChild, resolveInFunctionCall, setFromElement, setResolved
 
Methods inherited from class org.hibernate.hql.internal.ast.tree.AbstractSelectExpression
getAlias, getScalarColumnIndex, isConstructor, isScalar, setAlias, setScalarColumn
 
Methods inherited from class org.hibernate.hql.internal.ast.tree.HqlSqlWalkerNode
getAliasGenerator, getASTFactory, getSessionFactoryHelper, getWalker, initialize
 
Methods inherited from class org.hibernate.hql.internal.ast.tree.SqlNode
getDataType, getOriginalText, setDataType, setText
 
Methods inherited from class org.hibernate.hql.internal.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, toString, toStringList, toStringTree, xmlSerialize, xmlSerializeNode, xmlSerializeRootClose, xmlSerializeRootOpen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.hibernate.hql.internal.ast.tree.InitializeableNode
initialize
 
Methods inherited from interface org.hibernate.hql.internal.ast.tree.SelectExpression
getDataType, setText
 

Constructor Detail

AbstractMapComponentNode

public AbstractMapComponentNode()
Method Detail

getMapReference

public FromReferenceNode getMapReference()

getColumns

public String[] getColumns()

setScalarColumnText

public void setScalarColumnText(int i)
                         throws antlr.SemanticException
Description copied from interface: SelectExpression
Appends AST nodes that represent the columns after the current AST node. (e.g. 'as col0_O_')

Specified by:
setScalarColumnText in interface SelectExpression
Parameters:
i - The index of the select expression in the projection list.
Throws:
antlr.SemanticException - if a semantic error occurs

resolve

public void resolve(boolean generateJoin,
                    boolean implicitJoin,
                    String classAlias,
                    antlr.collections.AST parent)
             throws antlr.SemanticException
Description copied from interface: ResolvableNode
Does the work of resolving an identifier or a dot

Specified by:
resolve in interface ResolvableNode
Throws:
antlr.SemanticException

expressionDescription

protected abstract String expressionDescription()

resolveColumns

protected abstract String[] resolveColumns(QueryableCollection collectionPersister)

resolveType

protected abstract Type resolveType(QueryableCollection collectionPersister)

attemptedDereference

protected antlr.SemanticException attemptedDereference()

nonMap

protected antlr.SemanticException nonMap()

resolveIndex

public void resolveIndex(antlr.collections.AST parent)
                  throws antlr.SemanticException
Description copied from interface: ResolvableNode
Does the work of resolving an an index [].

Specified by:
resolveIndex in interface ResolvableNode
Throws:
antlr.SemanticException


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.