Package org.apache.empire.db.expr.column
Class DBDecodeExpr
java.lang.Object
org.apache.empire.db.DBObject
org.apache.empire.db.DBExpr
org.apache.empire.db.DBColumnExpr
org.apache.empire.db.expr.column.DBAbstractFuncExpr
org.apache.empire.db.expr.column.DBDecodeExpr
- All Implemented Interfaces:
ColumnExpr,DBPreparable
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
-
Field Summary
Fields inherited from class org.apache.empire.db.expr.column.DBAbstractFuncExpr
dataType, expr, isAggregate, logFields inherited from class org.apache.empire.db.DBColumnExpr
attributes, beanPropertyName, optionsFields inherited from class org.apache.empire.db.DBExpr
CTX_ALIAS, CTX_ALL, CTX_DEFAULT, CTX_FULLNAME, CTX_NAME, CTX_NOPARENTHESIS, CTX_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionDBDecodeExpr(DBColumnExpr expr, Map<?, ?> valueMap, Object elseExpr, DataType dataType) Constructs a DBDecodeExpr -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidaddReferencedColumns(Set<DBColumn> list) Internal function to obtain all DBColumnExpr-objects used by this expression.voidaddSQL(DBSQLBuilder sql, long context) Used to build the SQL command.Automatically converts all literal values into Value expressionsMaybe an Enum...protected Stringreturns the name of the functionReturns the DBColunm object.voidprepareParams(DBCommand cmd, DBExpr parent) Prepares an expression for a query This function is called by DBCommand in order to add values as query parameters instead of being literally included in the sql statement Please Note: This function is internally called.Methods inherited from class org.apache.empire.db.expr.column.DBAbstractFuncExpr
addSQL, addXml, equals, getDatabase, getDataType, getDbms, getName, getRowSet, isAggregateMethods inherited from class org.apache.empire.db.DBColumnExpr
abs, aggregate, append, as, as, asc, avg, ceiling, cmp, coalesce, concat, concat, contains, convertTo, convertTo, count, countDistinct, day, decode, decode, decode, decode, decode, decode, decodeEnum, decodeSort, desc, divideBy, floor, format, function, getAttribute, getAttribute, getBeanPropertyName, getControlType, getDefaultSortOrder, getExprFromPhrase, getExprFromPhrase, getIgnoreCaseExpr, getJavaType, getNumberType, getOptions, getSourceColumn, getTitle, in, in, in, indexOf, indexOf, indexOf, is, isBetween, isCaseSensitive, isGreaterThan, isLessOrEqual, isLiteralValue, isMoreOrEqual, isNot, isNotBetween, isSmallerThan, length, like, like, likeLower, likeUpper, lower, max, min, minus, minus, modulo, month, multiplyWith, notContains, notIn, notIn, notIn, notLike, nvl, on, parenthesis, plus, plus, prepend, qualified, replace, reverse, round, setAttribute, setBeanPropertyName, setControlType, setDefaultSortOrder, setOptions, setTitle, stringAgg, stringAgg, substring, substring, substring, substring, substring, substring, sum, toChar, toChar, toString, trim, trimLeft, trimRight, trunc, upper, when, yearMethods inherited from class org.apache.empire.db.DBObject
checkParamNull
-
Constructor Details
-
DBDecodeExpr
Constructs a DBDecodeExpr- Parameters:
expr- the expression to be decodedvalueMap- a map of keys and values used for decodingelseExpr- the expression returned if the condition is false (may be null)dataType- the target data type
-
-
Method Details
-
getFunctionName
Description copied from class:DBAbstractFuncExprreturns the name of the function- Specified by:
getFunctionNamein classDBAbstractFuncExpr- Returns:
- the function name
-
getUpdateColumn
Description copied from class:DBAbstractFuncExprReturns the DBColunm object.- Specified by:
getUpdateColumnin interfaceColumnExpr- Overrides:
getUpdateColumnin classDBAbstractFuncExpr- Returns:
- the DBColunm object
-
getEnumType
Description copied from class:DBAbstractFuncExprMaybe an Enum...- Specified by:
getEnumTypein interfaceColumnExpr- Overrides:
getEnumTypein classDBAbstractFuncExpr- Returns:
- the enum type
-
autoParam
Automatically converts all literal values into Value expressions- Returns:
- self (this)
-
prepareParams
Description copied from interface:DBPreparablePrepares an expression for a query This function is called by DBCommand in order to add values as query parameters instead of being literally included in the sql statement Please Note: This function is internally called. Do not call yourself!- Specified by:
prepareParamsin interfaceDBPreparable- Overrides:
prepareParamsin classDBAbstractFuncExpr- Parameters:
cmd- the command to which to add the parametersparent- the parent expression holding the value
-
addReferencedColumns
Description copied from class:DBExprInternal function to obtain all DBColumnExpr-objects used by this expression.- Overrides:
addReferencedColumnsin classDBAbstractFuncExpr- Parameters:
list- list to which all used column expressions must be added- See Also:
-
addSQL
Description copied from class:DBExprUsed to build the SQL command. SQL for this expression must be appended to StringBuilder. -
addDecodeParts
-