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

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.DotNode
All Implemented Interfaces:
antlr.collections.AST, Serializable, DisplayableNode, InitializeableNode, PathNode, ResolvableNode, SelectExpression

public class DotNode
extends FromReferenceNode
implements DisplayableNode, SelectExpression

Represents a reference to a property or alias expression. This should duplicate the relevant behaviors in PathExpressionParser.

See Also:
Serialized Form

Nested Class Summary
static interface DotNode.IllegalCollectionDereferenceExceptionBuilder
           
 
Field Summary
static DotNode.IllegalCollectionDereferenceExceptionBuilder DEF_ILLEGAL_COLL_DEREF_EXCP_BUILDER
           
static DotNode.IllegalCollectionDereferenceExceptionBuilder ILLEGAL_COLL_DEREF_EXCP_BUILDER
           
static boolean REGRESSION_STYLE_JOIN_SUPPRESSION
           
static boolean useThetaStyleImplicitJoins
           
 
Fields inherited from class org.hibernate.hql.internal.ast.tree.FromReferenceNode
ROOT_LEVEL
 
Fields inherited from class antlr.BaseAST
down, right
 
Constructor Summary
DotNode()
           
 
Method Summary
 Type getDataType()
          Returns the data type of the select expression.
 String getDisplayText()
          Returns additional display text for the AST node.
 FromElement getImpliedJoin()
          Sub-classes can override this method if they produce implied joins (e.g.
 FromReferenceNode getLhs()
           
 String getPath()
          Returns the full path of the node.
 String getPropertyPath()
           
 void resolve(boolean generateJoin, boolean implicitJoin, String classAlias, antlr.collections.AST parent)
          Does the work of resolving an identifier or a dot
 void resolveFirstChild()
          Resolves the left hand side of the DOT.
 void resolveIndex(antlr.collections.AST parent)
          Does the work of resolving an an index [].
 void resolveInFunctionCall(boolean generateJoin, boolean implicitJoin)
          Does the work of resolving inside of the scope of a function call
 void resolveSelectExpression()
          Special method to resolve expressions in the SELECT list.
 void setFetch(boolean fetch)
           
 void setJoinType(JoinType joinType)
          Sets the join type for this '.' node structure.
 void setPropertyPath(String propertyPath)
           
 void setResolvedConstant(String text)
           
 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
getFromElement, isResolved, isReturnableEntity, prepareForDot, recursiveResolve, recursiveResolve, resolve, resolve, 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
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.SelectExpression
getAlias, getFromElement, getScalarColumnIndex, isConstructor, isReturnableEntity, isScalar, setAlias, setScalarColumn, setText
 
Methods inherited from interface org.hibernate.hql.internal.ast.tree.InitializeableNode
initialize
 

Field Detail

useThetaStyleImplicitJoins

public static boolean useThetaStyleImplicitJoins

REGRESSION_STYLE_JOIN_SUPPRESSION

public static boolean REGRESSION_STYLE_JOIN_SUPPRESSION

DEF_ILLEGAL_COLL_DEREF_EXCP_BUILDER

public static final DotNode.IllegalCollectionDereferenceExceptionBuilder DEF_ILLEGAL_COLL_DEREF_EXCP_BUILDER

ILLEGAL_COLL_DEREF_EXCP_BUILDER

public static DotNode.IllegalCollectionDereferenceExceptionBuilder ILLEGAL_COLL_DEREF_EXCP_BUILDER
Constructor Detail

DotNode

public DotNode()
Method Detail

setJoinType

public void setJoinType(JoinType joinType)
Sets the join type for this '.' node structure.

Parameters:
joinType - The type of join to use.
See Also:
JoinFragment

getDisplayText

public String getDisplayText()
Description copied from interface: DisplayableNode
Returns additional display text for the AST node.

Specified by:
getDisplayText in interface DisplayableNode
Overrides:
getDisplayText in class FromReferenceNode
Returns:
String - The additional display text.

resolveFirstChild

public void resolveFirstChild()
                       throws antlr.SemanticException
Resolves the left hand side of the DOT.

Overrides:
resolveFirstChild in class FromReferenceNode
Throws:
antlr.SemanticException

resolveInFunctionCall

public void resolveInFunctionCall(boolean generateJoin,
                                  boolean implicitJoin)
                           throws antlr.SemanticException
Description copied from interface: ResolvableNode
Does the work of resolving inside of the scope of a function call

Specified by:
resolveInFunctionCall in interface ResolvableNode
Overrides:
resolveInFunctionCall in class FromReferenceNode
Throws:
antlr.SemanticException

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

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

getImpliedJoin

public FromElement getImpliedJoin()
Description copied from class: FromReferenceNode
Sub-classes can override this method if they produce implied joins (e.g. DotNode).

Overrides:
getImpliedJoin in class FromReferenceNode
Returns:
an implied join created by this from reference.

getDataType

public Type getDataType()
Description copied from interface: SelectExpression
Returns the data type of the select expression.

Specified by:
getDataType in interface SelectExpression
Overrides:
getDataType in class SqlNode
Returns:
The data type of the select expression.

setPropertyPath

public void setPropertyPath(String propertyPath)

getPropertyPath

public String getPropertyPath()

getLhs

public FromReferenceNode getLhs()

getPath

public String getPath()
Returns the full path of the node.

Specified by:
getPath in interface PathNode
Overrides:
getPath in class FromReferenceNode
Returns:
the full path of the node.

setFetch

public void setFetch(boolean fetch)

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

resolveSelectExpression

public void resolveSelectExpression()
                             throws antlr.SemanticException
Special method to resolve expressions in the SELECT list.

Throws:
antlr.SemanticException - if this cannot be resolved.

setResolvedConstant

public void setResolvedConstant(String text)


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