butler.sql.query
Class Join

java.lang.Object
  extended by butler.sql.query.Join
All Implemented Interfaces:
Joinable

public class Join
extends java.lang.Object
implements Joinable

Author:
Fredrik Bertilsson

Constructor Summary
Join(Join join, ForeignKey fk, boolean outer)
           
Join(Join join, Table joinedTab, Filter joinFilter, boolean outer, java.lang.String alias)
           
Join(Query query, ForeignKey fk, boolean outer)
           
Join(Query query, Table joinedTab, Filter joinFilter, boolean outer)
           
Join(Query query, Table joinedTab, Filter joinFilter, boolean outer, java.lang.String alias)
           
Join(Table tab, ForeignKey fk)
           
 
Method Summary
 void addColumn(AggregateFunction func, Column col)
          Adds a column which should be calculated with an aggregate function (sum, count, etc).
 void addColumn(Column col)
           
 java.lang.String getAlias()
           
 java.util.List getColumns()
           
 java.lang.String getColumnsSQL()
           
 ForeignKey getForeignKey()
           
 Table getJoinedTable()
           
 Filter getJoinFilter()
           
 java.util.List getJoins()
           
 Query getQuery()
           
 java.lang.String getSQL()
           
 java.lang.Object getStart()
           
 Join getStartJoin()
           
 Table getStartTable()
           
 Table getTable()
           
 boolean isAggregate()
           
 boolean isOneToMany()
           
 boolean isOuter()
           
 boolean isRecursive()
           
 Join join(ForeignKey fk)
           
 Join join(Table table)
           
 Join join(Table table, Filter joinFilter, boolean outer, java.lang.String alias)
           
 Join join(Table table, java.lang.String alias)
           
 Join outerJoin(ForeignKey fk)
           
 Join recursiveJoin(Table table)
           
 void setAlias(java.lang.String alias)
           
 void setOuter(boolean flag)
           
 void setRecursive(boolean flag)
           
 void toXML(org.xml.sax.ContentHandler handler)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Join

public Join(Query query,
            ForeignKey fk,
            boolean outer)
     throws java.lang.Exception
Throws:
java.lang.Exception

Join

public Join(Join join,
            ForeignKey fk,
            boolean outer)
     throws java.lang.Exception
Throws:
java.lang.Exception

Join

public Join(Query query,
            Table joinedTab,
            Filter joinFilter,
            boolean outer)
     throws java.lang.Exception
Throws:
java.lang.Exception

Join

public Join(Table tab,
            ForeignKey fk)
     throws java.lang.Exception
Throws:
java.lang.Exception

Join

public Join(Query query,
            Table joinedTab,
            Filter joinFilter,
            boolean outer,
            java.lang.String alias)
     throws java.lang.Exception
Throws:
java.lang.Exception

Join

public Join(Join join,
            Table joinedTab,
            Filter joinFilter,
            boolean outer,
            java.lang.String alias)
     throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

setOuter

public void setOuter(boolean flag)

addColumn

public void addColumn(Column col)

addColumn

public void addColumn(AggregateFunction func,
                      Column col)
               throws java.lang.Exception
Adds a column which should be calculated with an aggregate function (sum, count, etc).

Throws:
java.lang.Exception

getColumns

public java.util.List getColumns()

setAlias

public void setAlias(java.lang.String alias)
              throws java.lang.Exception
Throws:
java.lang.Exception

getAlias

public java.lang.String getAlias()

getTable

public Table getTable()

getStartJoin

public Join getStartJoin()

getStart

public java.lang.Object getStart()

getStartTable

public Table getStartTable()
                    throws java.lang.Exception
Throws:
java.lang.Exception

getQuery

public Query getQuery()

getForeignKey

public ForeignKey getForeignKey()

join

public Join join(ForeignKey fk)
          throws java.lang.Exception
Specified by:
join in interface Joinable
Throws:
java.lang.Exception

outerJoin

public Join outerJoin(ForeignKey fk)
               throws java.lang.Exception
Specified by:
outerJoin in interface Joinable
Throws:
java.lang.Exception

join

public Join join(Table table)
          throws java.lang.Exception
Throws:
java.lang.Exception

join

public Join join(Table table,
                 java.lang.String alias)
          throws java.lang.Exception
Throws:
java.lang.Exception

recursiveJoin

public Join recursiveJoin(Table table)
                   throws java.lang.Exception
Throws:
java.lang.Exception

join

public Join join(Table table,
                 Filter joinFilter,
                 boolean outer,
                 java.lang.String alias)
          throws java.lang.Exception
Throws:
java.lang.Exception

getJoins

public java.util.List getJoins()

getJoinedTable

public Table getJoinedTable()
                     throws java.lang.Exception
Throws:
java.lang.Exception

isOneToMany

public boolean isOneToMany()
                    throws java.lang.Exception
Throws:
java.lang.Exception

isOuter

public boolean isOuter()

toXML

public void toXML(org.xml.sax.ContentHandler handler)
           throws java.lang.Exception
Throws:
java.lang.Exception

setRecursive

public void setRecursive(boolean flag)

isRecursive

public boolean isRecursive()

getJoinFilter

public Filter getJoinFilter()
                     throws java.lang.Exception
Throws:
java.lang.Exception

getSQL

public java.lang.String getSQL()
                        throws java.lang.Exception
Throws:
java.lang.Exception

getColumnsSQL

public java.lang.String getColumnsSQL()
                               throws java.lang.Exception
Throws:
java.lang.Exception

isAggregate

public boolean isAggregate()