org.apache.empire.db.expr.column
Class DBFuncExpr

java.lang.Object
  extended by org.apache.empire.commons.ErrorObject
      extended by org.apache.empire.db.DBObject
          extended by org.apache.empire.db.DBExpr
              extended by org.apache.empire.db.DBColumnExpr
                  extended by org.apache.empire.db.expr.column.DBAbstractFuncExpr
                      extended by org.apache.empire.db.expr.column.DBFuncExpr
All Implemented Interfaces:
ErrorInfo, ColumnExpr

public class DBFuncExpr
extends DBAbstractFuncExpr

This class is used for performing various SQL functions on a column or column expression.

There is no need to explicitly create instances of this class.
Instead use any of the following functions:
DBColumnExpr.abs(), DBColumnExpr.coalesce(Object), DBColumnExpr.convertTo(DataType), DBColumnExpr.decode(java.util.Map, Object), DBColumnExpr.lower(), DBColumnExpr.min(), DBColumnExpr.max(), DBColumnExpr.month(), DBColumnExpr.sum(), DBColumnExpr.trim(), DBColumnExpr.upper(), DBColumnExpr.year()


Field Summary
 
Fields inherited from class org.apache.empire.db.DBColumnExpr
DBCOLATTR_TITLE, DBCOLATTR_TYPE
 
Fields inherited from class org.apache.empire.db.DBExpr
CTX_ALIAS, CTX_ALL, CTX_DEFAULT, CTX_FULLNAME, CTX_NAME, CTX_NOPARENTHESES, CTX_VALUE
 
Constructor Summary
DBFuncExpr(DBColumnExpr expr, int phrase, java.lang.Object[] params, DBColumn updateColumn, boolean isAggregate, DataType dataType)
          Constructs a new DBFuncExpr object set the specified parameters to this object.
DBFuncExpr(DBColumnExpr expr, java.lang.String template, java.lang.Object[] params, DBColumn updateColumn, boolean isAggregate, DataType dataType)
          Constructs a new DBFuncExpr object set the specified parameters to this object.
 
Method Summary
 void addSQL(java.lang.StringBuilder sql, long context)
          Creates the SQL-Command adds a function to the SQL-Command.
 
Methods inherited from class org.apache.empire.db.expr.column.DBAbstractFuncExpr
addReferencedColumns, addSQL, addXml, getDatabase, getDataType, getName, getUpdateColumn, isAggregate
 
Methods inherited from class org.apache.empire.db.DBColumnExpr
abs, append, as, as, avg, cmp, coalesce, convertTo, convertTo, count, countDistinct, day, decode, decode, decode, decode, decode, decode, divideBy, getAttribute, getBeanPropertyName, getControlType, getOptions, getSourceColumn, getTitle, in, indexOf, indexOf, indexOf, is, isBetween, isGreaterThan, isLessOrEqual, isMoreOrEqual, isNot, isNotBetween, isSmallerThan, length, like, like, likeLower, likeUpper, lower, max, min, minus, minus, month, multiplyWith, notIn, notLike, nvl, parenthesis, plus, plus, replace, reverse, round, setAttribute, setBeanPropertyName, setControlType, setOptions, setTitle, substring, substring, substring, substring, substring, substring, sum, toChar, toChar, trim, trimLeft, trimRight, trunc, upper, when, year
 
Methods inherited from class org.apache.empire.db.DBExpr
getValueClass
 
Methods inherited from class org.apache.empire.commons.ErrorObject
clearError, getErrorMessage, getErrorParams, getErrorSource, getErrorType, getMessage, hasError, isExceptionsEnabled, setExceptionsEnabled
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DBFuncExpr

public DBFuncExpr(DBColumnExpr expr,
                  int phrase,
                  java.lang.Object[] params,
                  DBColumn updateColumn,
                  boolean isAggregate,
                  DataType dataType)
Constructs a new DBFuncExpr object set the specified parameters to this object. Do not use directly - use any of the DBColumnExpr.??? factory functions instead! The sql function string is built from a string template. The template string is identified by the phrase param and obtained from the driver.

Parameters:
expr - the DBColumnExpr object
phrase - the SQL-phrase
params - an array of params which will be replaced in the template
updateColumn - optional update column if any. This parameter may be null
isAggregate - indicates whether the function is an aggregate function (sum, min, max, avg, ...)
dataType - indicates the data type of the function result

DBFuncExpr

public DBFuncExpr(DBColumnExpr expr,
                  java.lang.String template,
                  java.lang.Object[] params,
                  DBColumn updateColumn,
                  boolean isAggregate,
                  DataType dataType)
Constructs a new DBFuncExpr object set the specified parameters to this object. The sql function string is built from a string template. The template string must contain a ? which is a placeholder for the column expression.

Parameters:
expr - the DBColumnExpr object
template - specifies a template for the expression. The template must contain a ? placeholder for the column expression
params - an array of params which will be replaced in the template
updateColumn - optional update column if any. This parameter may be null
isAggregate - indicates whether the function is an aggregate function (sum, min, max, avg, ...)
dataType - indicates the data type of the function result
Method Detail

addSQL

public void addSQL(java.lang.StringBuilder sql,
                   long context)
Creates the SQL-Command adds a function to the SQL-Command.

Specified by:
addSQL in class DBExpr
Parameters:
sql - the SQL-Command
context - the current SQL-Command context