org.apache.torque.util
Class Query

java.lang.Object
  extended byorg.apache.torque.util.Query

public class Query
extends java.lang.Object

Used to assemble an SQL SELECT query. Attributes exist for the sections of a SELECT: modifiers, columns, from clause, where clause, and order by clause. The various parts of the query are appended to buffers which only accept unique entries. This class is used primarily by BasePeer.

Version:
$Id: Query.java,v 1.12 2003/03/24 21:53:42 mpoeschl Exp $
Author:
John D. McNally, Sam Joseph, Martin Poeschl

Field Summary
private static java.lang.String AND
           
private static java.lang.String FROM
           
private  UniqueList fromTables
           
private static java.lang.String GROUP_BY
           
private  UniqueList groupByColumns
           
private  java.lang.String having
           
private static java.lang.String HAVING
           
private  java.lang.String limit
           
private static java.lang.String LIMIT
           
private static java.lang.String ORDER_BY
           
private  UniqueList orderByColumns
           
private  java.lang.String rowcount
           
private static java.lang.String ROWCOUNT
           
private static java.lang.String SELECT
           
private  UniqueList selectColumns
           
private  UniqueList selectModifiers
           
private static java.lang.String WHERE
           
private  UniqueList whereCriteria
           
 
Constructor Summary
Query()
           
 
Method Summary
 UniqueList getFromClause()
          Retrieve the from buffer in order to specify which tables are involved in this query.
 UniqueList getGroupByClause()
          Retrieve the group by columns buffer in order to specify which columns are used to group the results of the query.
 java.lang.String getHaving()
          Get the having clause.
 java.lang.String getLimit()
          Get the limit number.
 UniqueList getOrderByClause()
          Retrieve the order by columns buffer in order to specify which columns are used to sort the results of the query.
 java.lang.String getRowcount()
          Get the rowcount number.
 UniqueList getSelectClause()
          Retrieve the columns buffer in order to specify which columns are returned in this query.
 UniqueList getSelectModifiers()
          Retrieve the modifier buffer in order to add modifiers to this query.
 UniqueList getWhereClause()
          Retrieve the where buffer in order to specify the selection criteria E.g.
 void setFromClause(UniqueList tables)
          Set the from clause.
 void setHaving(java.lang.String having)
          Set the having clause.
 void setLimit(java.lang.String limit)
          Set the limit number.
 void setRowcount(java.lang.String rowcount)
          Set the rowcount number.
 void setSelectClause(UniqueList columns)
          Set the columns.
 void setSelectModifiers(UniqueList modifiers)
          Set the modifiers.
 void setWhereClause(UniqueList where)
          Set the where clause.
 java.lang.String toString()
          Outputs the query statement.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SELECT

private static final java.lang.String SELECT
See Also:
Constant Field Values

FROM

private static final java.lang.String FROM
See Also:
Constant Field Values

WHERE

private static final java.lang.String WHERE
See Also:
Constant Field Values

AND

private static final java.lang.String AND
See Also:
Constant Field Values

ORDER_BY

private static final java.lang.String ORDER_BY
See Also:
Constant Field Values

GROUP_BY

private static final java.lang.String GROUP_BY
See Also:
Constant Field Values

HAVING

private static final java.lang.String HAVING
See Also:
Constant Field Values

LIMIT

private static final java.lang.String LIMIT
See Also:
Constant Field Values

ROWCOUNT

private static final java.lang.String ROWCOUNT
See Also:
Constant Field Values

selectModifiers

private UniqueList selectModifiers

selectColumns

private UniqueList selectColumns

fromTables

private UniqueList fromTables

whereCriteria

private UniqueList whereCriteria

orderByColumns

private UniqueList orderByColumns

groupByColumns

private UniqueList groupByColumns

having

private java.lang.String having

limit

private java.lang.String limit

rowcount

private java.lang.String rowcount
Constructor Detail

Query

public Query()
Method Detail

getSelectModifiers

public UniqueList getSelectModifiers()
Retrieve the modifier buffer in order to add modifiers to this query. E.g. DISTINCT and ALL.

Returns:
An UniqueList used to add modifiers.

setSelectModifiers

public void setSelectModifiers(UniqueList modifiers)
Set the modifiers. E.g. DISTINCT and ALL.

Parameters:
modifiers - the modifiers

getSelectClause

public UniqueList getSelectClause()
Retrieve the columns buffer in order to specify which columns are returned in this query.

Returns:
An UniqueList used to add columns to be selected.

setSelectClause

public void setSelectClause(UniqueList columns)
Set the columns.

Parameters:
columns - columns list

getFromClause

public UniqueList getFromClause()
Retrieve the from buffer in order to specify which tables are involved in this query.

Returns:
An UniqueList used to add tables involved in the query.

setFromClause

public void setFromClause(UniqueList tables)
Set the from clause.

Parameters:
tables - the tables

getWhereClause

public UniqueList getWhereClause()
Retrieve the where buffer in order to specify the selection criteria E.g. column_a=3. Expressions added to the buffer will be separated using AND.

Returns:
An UniqueList used to add selection criteria.

setWhereClause

public void setWhereClause(UniqueList where)
Set the where clause.

Parameters:
where - where clause

getOrderByClause

public UniqueList getOrderByClause()
Retrieve the order by columns buffer in order to specify which columns are used to sort the results of the query.

Returns:
An UniqueList used to add columns to sort on.

getGroupByClause

public UniqueList getGroupByClause()
Retrieve the group by columns buffer in order to specify which columns are used to group the results of the query.

Returns:
An UniqueList used to add columns to group on.

setHaving

public void setHaving(java.lang.String having)
Set the having clause. This is used to restrict which rows are returned.

Parameters:
having - A String.

setLimit

public void setLimit(java.lang.String limit)
Set the limit number. This is used to limit the number of rows returned by a query, and the row where the resultset starts.

Parameters:
limit - A String.

setRowcount

public void setRowcount(java.lang.String rowcount)
Set the rowcount number. This is used to limit the number of rows returned by Sybase and MS SQL/Server.

Parameters:
rowcount - A String.

getHaving

public java.lang.String getHaving()
Get the having clause. This is used to restrict which rows are returned based on some condition.

Returns:
A String that is the having clause.

getLimit

public java.lang.String getLimit()
Get the limit number. This is used to limit the number of returned by a query in Postgres.

Returns:
A String with the limit.

getRowcount

public java.lang.String getRowcount()
Get the rowcount number. This is used to limit the number of returned by a query in Sybase and MS SQL/Server.

Returns:
A String with the row count.

toString

public java.lang.String toString()
Outputs the query statement.

Returns:
A String with the query statement.


Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.