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

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.DBDecodeExpr
All Implemented Interfaces:
Serializable, ColumnExpr

public class DBDecodeExpr
extends DBAbstractFuncExpr

This class is used to decode a set of keys to the corresponding target values. For most drivers this will be performed by the "case ? when A then X else Y end" statement.

There is no need to explicitly create instances of this class.
Instead use DBColumnExpr.when(org.apache.empire.db.expr.compare.DBCompareExpr, Object)

Author:
doebele
See Also:
Serialized Form

Field Summary
 
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
DBDecodeExpr(DBColumnExpr expr, Map<?,?> valueMap, Object elseExpr, DataType dataType)
          Constructs a DBDecodeExpr
 
Method Summary
 void addReferencedColumns(Set<DBColumn> list)
          Internal function to obtain all DBColumnExpr-objects used by this expression.
 void addSQL(StringBuilder sql, long context)
          Used to build the SQL command.
protected  String getFunctionName()
          returns the name of the function
 
Methods inherited from class org.apache.empire.db.expr.column.DBAbstractFuncExpr
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
 

Constructor Detail

DBDecodeExpr

public DBDecodeExpr(DBColumnExpr expr,
                    Map<?,?> valueMap,
                    Object elseExpr,
                    DataType dataType)
Constructs a DBDecodeExpr

Parameters:
expr - the expression to be decoded
valueMap - a map of keys and values used for decoding
elseExpr - the expression returned if the condition is false (may be null)
dataType - the target data type
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

addReferencedColumns

public void addReferencedColumns(Set<DBColumn> list)
Description copied from class: DBExpr
Internal function to obtain all DBColumnExpr-objects used by this expression.

Overrides:
addReferencedColumns in class DBAbstractFuncExpr
Parameters:
list - list to which all used column expressions must be added
See Also:
DBExpr.addReferencedColumns(Set)

addSQL

public void addSQL(StringBuilder sql,
                   long context)
Description copied from class: DBExpr
Used to build the SQL command. SQL for this expression must be appended to StringBuilder.

Specified by:
addSQL in class DBExpr
Parameters:
sql - the string buffer used to build the sql command
context - context flag for this SQL-Command (see CTX_??? constants).


Copyright © 2008-2012 Apache Software Foundation. All Rights Reserved.