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

java.lang.Object
  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:
Serializable, 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()

See Also:
Serialized Form

Field Summary
protected  Object[] params
           
protected  int phrase
           
protected  String template
           
 
Fields inherited from class org.apache.empire.db.expr.column.DBAbstractFuncExpr
dataType, expr, isAggregate, updateColumn
 
Fields inherited from class org.apache.empire.db.DBColumnExpr
attributes, beanPropertyName, DBCOLATTR_TITLE, DBCOLATTR_TYPE, options
 
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, Object[] params, DBColumn updateColumn, boolean isAggregate, DataType dataType)
          Constructs a new DBFuncExpr object set the specified parameters to this object.
DBFuncExpr(DBColumnExpr expr, String template, Object[] params, DBColumn updateColumn, boolean isAggregate, DataType dataType)
          Constructs a new DBFuncExpr object set the specified parameters to this object.
 
Method Summary
 void addSQL(StringBuilder sql, long context)
          Creates the SQL-Command adds a function to the SQL-Command.
protected  String getFunctionName()
          returns the name of the function
 
Methods inherited from class org.apache.empire.db.expr.column.DBAbstractFuncExpr
addReferencedColumns, addSQL, addXml, getDatabase, getDatabaseDriver, getDataType, getName, getUpdateColumn, isAggregate
 
Methods inherited from class org.apache.empire.db.DBColumnExpr
abs, append, as, as, asc, avg, cmp, coalesce, convertTo, convertTo, count, countDistinct, day, decode, decode, decode, decode, decode, decode, desc, detectDataType, divideBy, getAttribute, getBeanPropertyName, getControlType, getExprFromPhrase, getExprFromPhrase, 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
getObjectValue, getValueClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

phrase

protected final int phrase

params

protected final Object[] params

template

protected String template
Constructor Detail

DBFuncExpr

public DBFuncExpr(DBColumnExpr expr,
                  int phrase,
                  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,
                  String template,
                  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

getFunctionName

protected String getFunctionName()
Description copied from class: DBAbstractFuncExpr
returns the name of the function

Specified by:
getFunctionName in class DBAbstractFuncExpr
Returns:
the function name

addSQL

public void addSQL(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


Copyright © 2008–2014 Apache Software Foundation. All rights reserved.