org.apache.ws.jaxme.sqls.impl
Class SelectStatementImpl

java.lang.Object
  extended by org.apache.ws.jaxme.sqls.impl.StatementImpl
      extended by org.apache.ws.jaxme.sqls.impl.ConstrainedStatementImpl
          extended by org.apache.ws.jaxme.sqls.impl.SelectStatementImpl
All Implemented Interfaces:
ConstrainedStatement, SelectStatement, Statement
Direct Known Subclasses:
OraSelectStatementImpl

public class SelectStatementImpl
extends ConstrainedStatementImpl
implements SelectStatement

Author:
Jochen Wiedmann

Nested Class Summary
static class SelectStatementImpl.OrderColumnImpl
           
 
Nested classes/interfaces inherited from interface org.apache.ws.jaxme.sqls.SelectStatement
SelectStatement.OrderColumn
 
Constructor Summary
SelectStatementImpl(SQLFactory pFactory)
          Creates a new SelectStatement and sets the creating SQLFactory.
 
Method Summary
 void addOrderColumn(java.lang.Object pColumn)
          Adds a column to the ORDER BY clause.
 void addOrderColumn(java.lang.Object pColumn, boolean pDescending)
          Adds a column to the ORDER BY clause.
 void addOrderColumn(SelectStatement.OrderColumn pColumn)
          Adds a column to the ORDER BY clause.
 void addResultColumn(ColumnReference pColumn)
          Adds a result column to the statement.
 Table createView(java.lang.String pName)
          Creates a view, which may be used to embed the statement into a separate query.
 Table createView(Table.Name pName)
          Creates a view, which may be used to embed the statement into a separate query.
 int getMaxRows()
          Returns the limit of the number of rows in the result set, or zero, if the size of the result set is unlimited.
 java.util.Iterator getOrderColumns()
          Returns the list of order columns.
 java.util.Iterator getResultColumns()
          Returns the list of result columns.
 SelectTableReference getSelectTableReference()
          Shortcut for (SelectTableReference) getTable().
 java.util.Iterator getSelectTableReferences()
          Returns an Iterator over all the table references.
 int getSkippedRows()
          Returns the number of rows to skip at the result sets beginning.
 boolean isDistinct()
          Returns whether the statement should have a DISTINCT clause.
protected  TableReference newTableReference(Table pTable)
           
 void setDistinct(boolean pDistinct)
          Sets whether the statement should have a DISTINCT clause.
 void setMaxRows(int pMaxRows)
          Limits the size of the result set to the given number of rows.
 void setSkippedRows(int pSkippedRows)
          Indicates that the given number of rows should be skipped at the result sets beginning.
 
Methods inherited from class org.apache.ws.jaxme.sqls.impl.ConstrainedStatementImpl
getWhere
 
Methods inherited from class org.apache.ws.jaxme.sqls.impl.StatementImpl
createFunction, getSQLFactory, getTableReference, newCase, setTable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.ws.jaxme.sqls.ConstrainedStatement
getWhere
 
Methods inherited from interface org.apache.ws.jaxme.sqls.Statement
createFunction, getSQLFactory, getTableReference, newCase, setTable
 

Constructor Detail

SelectStatementImpl

public SelectStatementImpl(SQLFactory pFactory)

Creates a new SelectStatement and sets the creating SQLFactory.

Method Detail

addOrderColumn

public void addOrderColumn(java.lang.Object pColumn)
Description copied from interface: SelectStatement

Adds a column to the ORDER BY clause. The column is sorted in ascending order.

Specified by:
addOrderColumn in interface SelectStatement

addOrderColumn

public void addOrderColumn(java.lang.Object pColumn,
                           boolean pDescending)
Description copied from interface: SelectStatement

Adds a column to the ORDER BY clause. The column is sorted in ascending or descending order, depending on the parameter pDescending.

Specified by:
addOrderColumn in interface SelectStatement
pDescending - True for descending or false for ascending

addOrderColumn

public void addOrderColumn(SelectStatement.OrderColumn pColumn)
Description copied from interface: SelectStatement

Adds a column to the ORDER BY clause.

Specified by:
addOrderColumn in interface SelectStatement

getOrderColumns

public java.util.Iterator getOrderColumns()
Description copied from interface: SelectStatement

Returns the list of order columns. The elements returned by the iterator are instances of SelectStatement.OrderColumn.

Specified by:
getOrderColumns in interface SelectStatement

addResultColumn

public void addResultColumn(ColumnReference pColumn)
Description copied from interface: SelectStatement

Adds a result column to the statement. By default all columns are returned.

Specified by:
addResultColumn in interface SelectStatement

getResultColumns

public java.util.Iterator getResultColumns()
Description copied from interface: SelectStatement

Returns the list of result columns.

Specified by:
getResultColumns in interface SelectStatement

setDistinct

public void setDistinct(boolean pDistinct)
Description copied from interface: SelectStatement

Sets whether the statement should have a DISTINCT clause. By default no DISTINCT clause is present.

Specified by:
setDistinct in interface SelectStatement

isDistinct

public boolean isDistinct()
Description copied from interface: SelectStatement

Returns whether the statement should have a DISTINCT clause. By default no DISTINCT clause is present.

Specified by:
isDistinct in interface SelectStatement

setMaxRows

public void setMaxRows(int pMaxRows)
Description copied from interface: SelectStatement

Limits the size of the result set to the given number of rows. Defaults to zero, in which case the size of the result set is unlimited.

Specified by:
setMaxRows in interface SelectStatement

getMaxRows

public int getMaxRows()
Description copied from interface: SelectStatement

Returns the limit of the number of rows in the result set, or zero, if the size of the result set is unlimited.

Specified by:
getMaxRows in interface SelectStatement

setSkippedRows

public void setSkippedRows(int pSkippedRows)
Description copied from interface: SelectStatement

Indicates that the given number of rows should be skipped at the result sets beginning. The default is zero, in which case no rows are skipped.

Specified by:
setSkippedRows in interface SelectStatement

getSkippedRows

public int getSkippedRows()
Description copied from interface: SelectStatement

Returns the number of rows to skip at the result sets beginning. The default is zero, in which case no rows are skipped.

Specified by:
getSkippedRows in interface SelectStatement

newTableReference

protected TableReference newTableReference(Table pTable)
Overrides:
newTableReference in class StatementImpl

getSelectTableReference

public SelectTableReference getSelectTableReference()
Description copied from interface: SelectStatement

Shortcut for (SelectTableReference) getTable().

Specified by:
getSelectTableReference in interface SelectStatement

getSelectTableReferences

public java.util.Iterator getSelectTableReferences()
Description copied from interface: SelectStatement

Returns an Iterator over all the table references.

Specified by:
getSelectTableReferences in interface SelectStatement

createView

public Table createView(Table.Name pName)
Description copied from interface: SelectStatement

Creates a view, which may be used to embed the statement into a separate query.

Specified by:
createView in interface SelectStatement

createView

public Table createView(java.lang.String pName)
Description copied from interface: SelectStatement

Creates a view, which may be used to embed the statement into a separate query.

Specified by:
createView in interface SelectStatement