3.0.1: 2011-11-10

net.sf.basedb.core
Class ReporterListJoin

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

 class ReporterListJoin
extends Object
implements Join

Represents a join to a reporter list in a dynamic query: leftTable JOIN ReporterListScores ON ...

This class is used by, for example, DynamicSpotQuery.joinReporterList(ReporterList, JoinType) to create the Join query element that is needed. After the reporter list has been join it can be used in expressions in the query.

Version:
2.0
Author:
Nicklas
See Also:
ExtraValueExpression, Dynamic.extraValue(ExtraValue)
Last modified
$Date: 2011-08-30 15:49:58 +0200 (Tue, 30 Aug 2011) $

Field Summary
private  JoinType joinType
           
private  String leftAlias
           
private  String leftColumn
           
private  ReporterList reporterList
           
private  RealTable right
           
 
Constructor Summary
ReporterListJoin(ReporterList reporterList, JoinType joinType, RealTable left, String leftColumn)
          Create a new join to a reporter list using the given RealTable as the left table.
ReporterListJoin(ReporterList reporterList, JoinType joinType, VirtualTable left, VirtualColumn leftColumn)
          Create a new join to a reporter list using the given VirtualTable as the left table.
 
Method Summary
 boolean equals(Object other)
          This join is equal to another ReporterListJoin if they join to the same reporter list with the same join type.
 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

reporterList

private final ReporterList reporterList

joinType

private final JoinType joinType

leftAlias

private final String leftAlias

leftColumn

private final String leftColumn

right

private final RealTable right
Constructor Detail

ReporterListJoin

ReporterListJoin(ReporterList reporterList,
                 JoinType joinType,
                 VirtualTable left,
                 VirtualColumn leftColumn)
Create a new join to a reporter list using the given VirtualTable as the left table. The given VirtualColumn should hold the reporter id values.

Parameters:
reporterList - The reporter list to join
joinType - The type of join
left - The left table
leftColumn - The column in the left table holding reporter id:s
Since:
3.0

ReporterListJoin

ReporterListJoin(ReporterList reporterList,
                 JoinType joinType,
                 RealTable left,
                 String leftColumn)
Create a new join to a reporter list using the given RealTable as the left table. The given leftColumn should hold the reporter id values.

Parameters:
reporterList - The reporter list to join
joinType - The type of join
left - The left table
leftColumn - The column in the left table holding reporter id:s
Since:
3.0
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 ReporterListJoin if they join to the same reporter list with the same join type.

Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

3.0.1: 2011-11-10