2.17.2: 2011-06-17

net.sf.basedb.core.query
Class HqlInnerJoin

java.lang.Object
  extended by net.sf.basedb.core.query.HqlInnerJoin
All Implemented Interfaces:
Join, QueryElement

public class HqlInnerJoin
extends Object
implements Join

Inner joins an association to another item: JOIN <alias.property> <joinedAlias> to the query.

Throws an UnsupportedOperationException if Query.getQueryType() isn't QueryType.HQL.

Version:
2.0
Author:
Nicklas
See Also:
Hql.innerJoin(String, String, String)
Last modified
$Date: 2010-04-21 11:48:29 +0200 (Wed, 21 Apr 2010) $

Field Summary
private  String alias
           
private  boolean fetch
           
private  String joinedAlias
           
private  Restriction on
           
private  String property
           
 
Constructor Summary
HqlInnerJoin(String alias, String property, String joinedAlias, Restriction on, boolean fetch)
           
 
Method Summary
 boolean equals(Object other)
          This join is equal to another HqlInnerJoin if they join to the same property with the same alias and use the same condition and fetch mode.
 Collection<? extends QueryElement> getChildren()
          Get the children of this query element or null if it has no children.
 String getThetaJoin(Query query, DbControl dc)
           
 String getThetaJoinCondition(Query query, DbControl dc)
           
 int hashCode()
           
 String toQl(Query query, DbControl dc)
          Create a query language string of the query element.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

alias

private final String alias

property

private final String property

joinedAlias

private final String joinedAlias

on

private final Restriction on

fetch

private final boolean fetch
Constructor Detail

HqlInnerJoin

HqlInnerJoin(String alias,
             String property,
             String joinedAlias,
             Restriction on,
             boolean fetch)
Method Detail

toQl

public String toQl(Query query,
                   DbControl dc)
            throws BaseException
Description copied from interface: QueryElement
Create a query language string of the query element. Use the Query.getQueryType() method to find out which query language is wanted in case the element requires different syntax for different languages.

Specified by:
toQl in interface QueryElement
Parameters:
query - The query that is about to be executed
dc - The DbControl object used to execute the query
Throws:
BaseException - If there is any other error

getChildren

public Collection<? extends QueryElement> getChildren()
Description copied from interface: QueryElement
Get the children of this query element or null if it has no children. For example the AddExpression has two children, the expression beeing added.

Specified by:
getChildren in interface QueryElement
Returns:
Always null

getThetaJoin

public String getThetaJoin(Query query,
                           DbControl dc)
                    throws BaseException
Specified by:
getThetaJoin in interface Join
Throws:
BaseException

getThetaJoinCondition

public String getThetaJoinCondition(Query query,
                                    DbControl dc)
                             throws BaseException
Specified by:
getThetaJoinCondition in interface Join
Throws:
BaseException

toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object other)
This join is equal to another HqlInnerJoin if they join to the same property with the same alias and use the same condition and fetch mode.

Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

2.17.2: 2011-06-17