org.hibernate.sql

Class JoinFragment

Known Direct Subclasses:
ANSIJoinFragment, OracleJoinFragment, QueryJoinFragment, Sybase11JoinFragment

public abstract class JoinFragment
extends java.lang.Object

An abstract SQL join fragment renderer
Author:
Gavin King

Field Summary

static int
FULL_JOIN
static int
INNER_JOIN
static int
LEFT_OUTER_JOIN
static int
RIGHT_OUTER_JOIN

Method Summary

abstract boolean
addCondition(String condition)
abstract void
addCondition(String alias, String[] fkColumns, String[] pkColumns)
protected boolean
addCondition(StringBuffer buffer, String on)
Appends the 'on' condition to the buffer, returning true if the condition was added.
abstract void
addCrossJoin(String tableName, String alias)
void
addFragment(JoinFragment ojf)
abstract void
addJoin(String tableName, String alias, String[] fkColumns, String[] pkColumns, int joinType)
abstract void
addJoin(String tableName, String alias, String[] fkColumns, String[] pkColumns, int joinType, String on)
abstract void
addJoins(String fromFragment, String whereFragment)
abstract JoinFragment
copy()
boolean
hasFilterCondition()
True if the where fragment is from a filter condition.
boolean
hasThetaJoins()
void
setHasFilterCondition(boolean b)
void
setHasThetaJoins(boolean hasThetaJoins)
abstract String
toFromFragmentString()
abstract String
toWhereFragmentString()

Field Details

FULL_JOIN

public static final int FULL_JOIN
Field Value:
4

INNER_JOIN

public static final int INNER_JOIN
Field Value:
0

LEFT_OUTER_JOIN

public static final int LEFT_OUTER_JOIN
Field Value:
1

RIGHT_OUTER_JOIN

public static final int RIGHT_OUTER_JOIN
Field Value:
2

Method Details

addCondition

public abstract boolean addCondition(String condition)

addCondition

public abstract void addCondition(String alias,
                                  String[] fkColumns,
                                  String[] pkColumns)

addCondition

protected boolean addCondition(StringBuffer buffer,
                               String on)
Appends the 'on' condition to the buffer, returning true if the condition was added. Returns false if the 'on' condition was empty.
Parameters:
buffer - The buffer to append the 'on' condition to.
on - The 'on' condition.
Returns:
Returns true if the condition was added, false if the condition was already in 'on' string.

addCrossJoin

public abstract void addCrossJoin(String tableName,
                                  String alias)

addFragment

public void addFragment(JoinFragment ojf)

addJoin

public abstract void addJoin(String tableName,
                             String alias,
                             String[] fkColumns,
                             String[] pkColumns,
                             int joinType)

addJoin

public abstract void addJoin(String tableName,
                             String alias,
                             String[] fkColumns,
                             String[] pkColumns,
                             int joinType,
                             String on)

addJoins

public abstract void addJoins(String fromFragment,
                              String whereFragment)

copy

public abstract JoinFragment copy()

hasFilterCondition

public boolean hasFilterCondition()
True if the where fragment is from a filter condition.
Returns:
True if the where fragment is from a filter condition.

hasThetaJoins

public boolean hasThetaJoins()

setHasFilterCondition

public void setHasFilterCondition(boolean b)

setHasThetaJoins

public void setHasThetaJoins(boolean hasThetaJoins)

toFromFragmentString

public abstract String toFromFragmentString()

toWhereFragmentString

public abstract String toWhereFragmentString()