Package net.sf.basedb.core.query
Class CaseExpression
- java.lang.Object
-
- net.sf.basedb.core.query.CaseExpression
-
- All Implemented Interfaces:
Expression
,QueryElement
public class CaseExpression extends Object implements Expression
An SQL case expression:CASE WHEN r1 THEN e1 WHEN r2 THEN e2 ... ELSE elseExpression END
- Version:
- 2.0
- Author:
- nicklas
- See Also:
Expressions.caseWhen(Expression, WhenStatement[])
- Last modified
- $Date: 2014-10-22 18:41:55 +0200 (on, 22 okt 2014) $
-
-
Field Summary
Fields Modifier and Type Field Description private Expression
elseExpression
private int
hashCode
private WhenStatement[]
whenStatements
-
Constructor Summary
Constructors Constructor Description CaseExpression(Expression elseExpression, WhenStatement... whenStatements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
This expression is equal to another CaseExpression if both contains the same when statements (disregarding order) and else expression.Collection<? extends QueryElement>
getChildren()
Get the children of this query element or null if it has no children.int
hashCode()
String
toQl(Query query, DbControl dc)
Create a query language string of the query element.String
toString()
-
-
-
Field Detail
-
elseExpression
private final Expression elseExpression
-
whenStatements
private final WhenStatement[] whenStatements
-
hashCode
private int hashCode
-
-
Constructor Detail
-
CaseExpression
CaseExpression(Expression elseExpression, WhenStatement... whenStatements)
-
-
Method Detail
-
toQl
public String toQl(Query query, DbControl dc) throws BaseException
Description copied from interface:QueryElement
Create a query language string of the query element. Use theQuery.getQueryType()
method to find out which query language is wanted in case the element requires different syntax for different languages.- Specified by:
toQl
in interfaceQueryElement
- Parameters:
query
- The query that is about to be executeddc
- TheDbControl
object used to execute the query- Throws:
BaseException
- If there is any other error
-
getChildren
public Collection<? extends QueryElement> getChildren()
Description copied from interface:QueryElement
Get the children of this query element or null if it has no children. For example theAddExpression
has two children, the expression beeing added.- Specified by:
getChildren
in interfaceQueryElement
- Returns:
- All expressions and restrictions used
-
equals
public boolean equals(Object other)
This expression is equal to another CaseExpression if both contains the same when statements (disregarding order) and else expression.
-
-