Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.torque.util
Class SqlExpression  view SqlExpression download SqlExpression.java

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

public class SqlExpression
extends java.lang.Object

This class represents a part of an SQL query found in the WHERE section. For example:

 table_a.column_a = table_b.column_a
 column LIKE 'F%'
 table.column < 3
 
This class is used primarily by BasePeer.

Version:
$Id: SqlExpression.java,v 1.24.2.4 2004/06/19 04:30:37 seade Exp $

Field Summary
private static char BACKSLASH
          escaped backslash
private static char SINGLE_QUOTE
          escaped single quote
 
Constructor Summary
SqlExpression()
           
 
Method Summary
static java.lang.String build(java.lang.String columnName, java.lang.Object criteria, SqlEnum comparison)
          Builds a simple SQL expression.
static java.lang.String build(java.lang.String columnName, java.lang.Object criteria, SqlEnum comparison, boolean ignoreCase, org.apache.torque.adapter.DB db)
          Builds a simple SQL expression.
static void build(java.lang.String columnName, java.lang.Object criteria, SqlEnum comparison, boolean ignoreCase, org.apache.torque.adapter.DB db, java.lang.StringBuffer whereClause)
          Builds a simple SQL expression.
(package private) static java.lang.String buildIn(java.lang.String columnName, java.lang.Object criteria, SqlEnum comparison, boolean ignoreCase, org.apache.torque.adapter.DB db)
          Takes a columnName and criteria (which must be an array) and builds a SQL 'IN' expression taking into account the ignoreCase flag.
(package private) static void buildIn(java.lang.String columnName, java.lang.Object criteria, SqlEnum comparison, boolean ignoreCase, org.apache.torque.adapter.DB db, java.lang.StringBuffer whereClause)
          Takes a columnName and criteria (which must be an array) and builds a SQL 'IN' expression taking into account the ignoreCase flag.
static java.lang.String buildInnerJoin(java.lang.String column, java.lang.String relatedColumn)
          Used to specify a join on two columns.
static java.lang.String buildInnerJoin(java.lang.String column, java.lang.String relatedColumn, boolean ignoreCase, org.apache.torque.adapter.DB db)
          Used to specify a join on two columns.
static void buildInnerJoin(java.lang.String column, java.lang.String relatedColumn, boolean ignoreCase, org.apache.torque.adapter.DB db, java.lang.StringBuffer whereClause)
          Used to specify a join on two columns.
(package private) static java.lang.String buildLike(java.lang.String columnName, java.lang.String criteria, SqlEnum comparison, boolean ignoreCase, org.apache.torque.adapter.DB db)
          Takes a columnName and criteria and builds an SQL phrase based on whether wildcards are present and the state of the ignoreCase flag.
(package private) static void buildLike(java.lang.String columnName, java.lang.String criteria, SqlEnum comparison, boolean ignoreCase, org.apache.torque.adapter.DB db, java.lang.StringBuffer whereClause)
          Takes a columnName and criteria and builds an SQL phrase based on whether wildcards are present and the state of the ignoreCase flag.
(package private) static java.lang.String processInValue(java.lang.Object value, boolean ignoreCase, org.apache.torque.adapter.DB db)
          Creates an appropriate string for an 'IN' clause from an object.
static java.lang.String quoteAndEscapeText(java.lang.String rawText, org.apache.torque.adapter.DB db)
          Quotes and escapes raw text for placement in a SQL expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SINGLE_QUOTE

private static final char SINGLE_QUOTE
escaped single quote

See Also:
Constant Field Values

BACKSLASH

private static final char BACKSLASH
escaped backslash

See Also:
Constant Field Values
Constructor Detail

SqlExpression

public SqlExpression()
Method Detail

buildInnerJoin

public static java.lang.String buildInnerJoin(java.lang.String column,
                                              java.lang.String relatedColumn)
Used to specify a join on two columns.


buildInnerJoin

public static java.lang.String buildInnerJoin(java.lang.String column,
                                              java.lang.String relatedColumn,
                                              boolean ignoreCase,
                                              org.apache.torque.adapter.DB db)
Used to specify a join on two columns.


buildInnerJoin

public static void buildInnerJoin(java.lang.String column,
                                  java.lang.String relatedColumn,
                                  boolean ignoreCase,
                                  org.apache.torque.adapter.DB db,
                                  java.lang.StringBuffer whereClause)
Used to specify a join on two columns.


build

public static java.lang.String build(java.lang.String columnName,
                                     java.lang.Object criteria,
                                     SqlEnum comparison)
                              throws org.apache.torque.TorqueException
Builds a simple SQL expression.


build

public static java.lang.String build(java.lang.String columnName,
                                     java.lang.Object criteria,
                                     SqlEnum comparison,
                                     boolean ignoreCase,
                                     org.apache.torque.adapter.DB db)
                              throws org.apache.torque.TorqueException
Builds a simple SQL expression.


build

public static void build(java.lang.String columnName,
                         java.lang.Object criteria,
                         SqlEnum comparison,
                         boolean ignoreCase,
                         org.apache.torque.adapter.DB db,
                         java.lang.StringBuffer whereClause)
Builds a simple SQL expression.


buildLike

static java.lang.String buildLike(java.lang.String columnName,
                                  java.lang.String criteria,
                                  SqlEnum comparison,
                                  boolean ignoreCase,
                                  org.apache.torque.adapter.DB db)
Takes a columnName and criteria and builds an SQL phrase based on whether wildcards are present and the state of the ignoreCase flag. Multicharacter wildcards % and * may be used as well as single character wildcards, _ and ?. These characters can be escaped with \. e.g. criteria = "fre%" -> columnName LIKE 'fre%' -> UPPER(columnName) LIKE UPPER('fre%') criteria = "50\%" -> columnName = '50%'


buildLike

static void buildLike(java.lang.String columnName,
                      java.lang.String criteria,
                      SqlEnum comparison,
                      boolean ignoreCase,
                      org.apache.torque.adapter.DB db,
                      java.lang.StringBuffer whereClause)
Takes a columnName and criteria and builds an SQL phrase based on whether wildcards are present and the state of the ignoreCase flag. Multicharacter wildcards % and * may be used as well as single character wildcards, _ and ?. These characters can be escaped with \. e.g. criteria = "fre%" -> columnName LIKE 'fre%' -> UPPER(columnName) LIKE UPPER('fre%') criteria = "50\%" -> columnName = '50%'


buildIn

static java.lang.String buildIn(java.lang.String columnName,
                                java.lang.Object criteria,
                                SqlEnum comparison,
                                boolean ignoreCase,
                                org.apache.torque.adapter.DB db)
Takes a columnName and criteria (which must be an array) and builds a SQL 'IN' expression taking into account the ignoreCase flag.


buildIn

static void buildIn(java.lang.String columnName,
                    java.lang.Object criteria,
                    SqlEnum comparison,
                    boolean ignoreCase,
                    org.apache.torque.adapter.DB db,
                    java.lang.StringBuffer whereClause)
Takes a columnName and criteria (which must be an array) and builds a SQL 'IN' expression taking into account the ignoreCase flag.


processInValue

static java.lang.String processInValue(java.lang.Object value,
                                       boolean ignoreCase,
                                       org.apache.torque.adapter.DB db)
Creates an appropriate string for an 'IN' clause from an object. Adds quoting and/or UPPER() as appropriate. This is broken out into a seperate method as it is used in two places in buildIn, depending on whether an array or List is being looped over.


quoteAndEscapeText

public static java.lang.String quoteAndEscapeText(java.lang.String rawText,
                                                  org.apache.torque.adapter.DB db)
Quotes and escapes raw text for placement in a SQL expression. For simplicity, the text is assumed to be neither quoted nor escaped.