org.hibernate.hql.classic
Class PathExpressionParser

java.lang.Object
  extended by org.hibernate.hql.classic.PathExpressionParser
All Implemented Interfaces:
Parser
Direct Known Subclasses:
FromPathExpressionParser, SelectPathExpressionParser

public class PathExpressionParser
extends Object
implements Parser

Parses an expression of the form foo.bar.baz and builds up an expression involving two less table joins than there are path components.


Constructor Summary
PathExpressionParser()
           
 
Method Summary
 void addAssociation(QueryTranslatorImpl q)
           
 String addFromAssociation(QueryTranslatorImpl q)
           
 String addFromCollection(QueryTranslatorImpl q)
           
protected  String[] currentColumns()
           
 void end(QueryTranslatorImpl q)
           
 void fetch(QueryTranslatorImpl q, String entityName)
           
 String getCollectionSubquery(Map enabledFilters)
           
 String getName()
           
protected  Type getPropertyType()
           
 String getWhereColumn()
           
 String[] getWhereColumns()
           
 Type getWhereColumnType()
           
 JoinSequence getWhereJoin()
           
 void ignoreInitialJoin()
           
 boolean isCollectionValued()
           
 boolean isExpectingCollectionIndex()
           
 org.hibernate.hql.classic.PathExpressionParser.CollectionElement lastCollectionElement()
           
protected  void setExpectingCollectionIndex()
           
 void setLastCollectionElementIndexValue(String value)
           
 void start(QueryTranslatorImpl q)
           
 void token(String token, QueryTranslatorImpl q)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PathExpressionParser

public PathExpressionParser()
Method Detail

ignoreInitialJoin

public void ignoreInitialJoin()

token

public void token(String token,
                  QueryTranslatorImpl q)
           throws QueryException
Specified by:
token in interface Parser
Throws:
QueryException

getPropertyType

protected Type getPropertyType()
                        throws QueryException
Throws:
QueryException

currentColumns

protected String[] currentColumns()
                           throws QueryException
Throws:
QueryException

start

public void start(QueryTranslatorImpl q)
Specified by:
start in interface Parser

end

public void end(QueryTranslatorImpl q)
         throws QueryException
Specified by:
end in interface Parser
Throws:
QueryException

lastCollectionElement

public org.hibernate.hql.classic.PathExpressionParser.CollectionElement lastCollectionElement()

setLastCollectionElementIndexValue

public void setLastCollectionElementIndexValue(String value)

isExpectingCollectionIndex

public boolean isExpectingCollectionIndex()

setExpectingCollectionIndex

protected void setExpectingCollectionIndex()
                                    throws QueryException
Throws:
QueryException

getWhereJoin

public JoinSequence getWhereJoin()

getWhereColumn

public String getWhereColumn()
                      throws QueryException
Throws:
QueryException

getWhereColumns

public String[] getWhereColumns()

getWhereColumnType

public Type getWhereColumnType()

getName

public String getName()

getCollectionSubquery

public String getCollectionSubquery(Map enabledFilters)
                             throws QueryException
Throws:
QueryException

isCollectionValued

public boolean isCollectionValued()
                           throws QueryException
Throws:
QueryException

addAssociation

public void addAssociation(QueryTranslatorImpl q)
                    throws QueryException
Throws:
QueryException

addFromAssociation

public String addFromAssociation(QueryTranslatorImpl q)
                          throws QueryException
Throws:
QueryException

addFromCollection

public String addFromCollection(QueryTranslatorImpl q)
                         throws QueryException
Throws:
QueryException

fetch

public void fetch(QueryTranslatorImpl q,
                  String entityName)
           throws QueryException
Throws:
QueryException