org.exolab.castor.jdo.drivers

Class JDBCQueryExpression

public class JDBCQueryExpression extends Object implements QueryExpression

Version: $Revision: 1.1.1.1 $ $Date: 2003/03/03 07:08:13 $

Author: Assaf Arkin

Nested Class Summary
static classJDBCQueryExpression.Join
Field Summary
protected Vector_cols
protected Vector_conds
protected boolean_distinct
protected PersistenceFactory_factory
protected Vector_joins
protected String_limit
protected String_order
protected String_select
protected Hashtable_tables
protected String_where
Constructor Summary
JDBCQueryExpression(PersistenceFactory factory)
Method Summary
voidaddColumn(String tableName, String columnName)
voidaddCondition(String tableName, String columnName, String condOp, String value)
voidaddInnerJoin(String leftTable, String leftColumn, String rightTable, String rightColumn)
voidaddInnerJoin(String leftTable, String leftColumn, String leftTableAlias, String rightTable, String rightColumn, String rightTableAlias)
voidaddInnerJoin(String leftTable, String[] leftColumn, String rightTable, String[] rightColumn)
voidaddInnerJoin(String leftTable, String[] leftColumn, String leftTableAlias, String rightTable, String[] rightColumn, String rightTableAlias)
voidaddLimitClause(String limit)
voidaddOrderClause(String order)
voidaddOuterJoin(String leftTable, String leftColumn, String rightTable, String rightColumn)
voidaddOuterJoin(String leftTable, String leftColumn, String rightTable, String rightColumn, String rightTableAlias)
voidaddOuterJoin(String leftTable, String[] leftColumn, String rightTable, String[] rightColumn)
voidaddOuterJoin(String leftTable, String[] leftColumn, String rightTable, String[] rightColumn, String rightTableAlias)
voidaddParameter(String tableName, String columnName, String condOp)
voidaddSelect(String selectClause)
voidaddTable(String tableName)
voidaddTable(String tableName, String tableAlias)
voidaddWhereClause(String where)
protected booleanaddWhereClause(StringBuffer sql, boolean first)
Objectclone()
StringencodeColumn(String tableName, String columnName)
protected StringgetColumnList()
protected StringBuffergetStandardStatement(boolean lock, boolean oj)
Helper method.
StringgetStatement(boolean lock)
This should work for JDBC drivers with a full support of JDBC specification.
voidsetDistinct(boolean distinct)
StringtoString()

Field Detail

_cols

protected Vector _cols

_conds

protected Vector _conds

_distinct

protected boolean _distinct

_factory

protected PersistenceFactory _factory

_joins

protected Vector _joins

_limit

protected String _limit

_order

protected String _order

_select

protected String _select

_tables

protected Hashtable _tables

_where

protected String _where

Constructor Detail

JDBCQueryExpression

public JDBCQueryExpression(PersistenceFactory factory)

Method Detail

addColumn

public void addColumn(String tableName, String columnName)

addCondition

public void addCondition(String tableName, String columnName, String condOp, String value)

addInnerJoin

public void addInnerJoin(String leftTable, String leftColumn, String rightTable, String rightColumn)

addInnerJoin

public void addInnerJoin(String leftTable, String leftColumn, String leftTableAlias, String rightTable, String rightColumn, String rightTableAlias)

addInnerJoin

public void addInnerJoin(String leftTable, String[] leftColumn, String rightTable, String[] rightColumn)

addInnerJoin

public void addInnerJoin(String leftTable, String[] leftColumn, String leftTableAlias, String rightTable, String[] rightColumn, String rightTableAlias)

addLimitClause

public void addLimitClause(String limit)

addOrderClause

public void addOrderClause(String order)

addOuterJoin

public void addOuterJoin(String leftTable, String leftColumn, String rightTable, String rightColumn)

addOuterJoin

public void addOuterJoin(String leftTable, String leftColumn, String rightTable, String rightColumn, String rightTableAlias)

addOuterJoin

public void addOuterJoin(String leftTable, String[] leftColumn, String rightTable, String[] rightColumn)

addOuterJoin

public void addOuterJoin(String leftTable, String[] leftColumn, String rightTable, String[] rightColumn, String rightTableAlias)

addParameter

public void addParameter(String tableName, String columnName, String condOp)

addSelect

public void addSelect(String selectClause)

addTable

public void addTable(String tableName)

addTable

public void addTable(String tableName, String tableAlias)

addWhereClause

public void addWhereClause(String where)

addWhereClause

protected boolean addWhereClause(StringBuffer sql, boolean first)

clone

public Object clone()

encodeColumn

public String encodeColumn(String tableName, String columnName)

getColumnList

protected String getColumnList()

getStandardStatement

protected StringBuffer getStandardStatement(boolean lock, boolean oj)
Helper method. Can be used in two cases: 1) for JDBC drivers which support "{oj ...OUTER JOIN ...}" notation (in accordance with JDBC specification); 2) for the databases which support "... OUTER JOIN ..." notation (in accordance with SQL-92 standard); .

Parameters: lock whether to lock selected tables oj true in the first case above, false in the second case.

getStatement

public String getStatement(boolean lock)
This should work for JDBC drivers with a full support of JDBC specification.

setDistinct

public void setDistinct(boolean distinct)

toString

public String toString()
Intalio Inc. (C) 1999-2003. All rights reserved http://www.intalio.com