2.17.2: 2011-06-17

net.sf.basedb.core.query
Class CaseExpression

java.lang.Object
  extended by 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: 2010-04-21 11:48:29 +0200 (Wed, 21 Apr 2010) $

Field Summary
private  Expression elseExpression
           
private  int hashCode
           
private  WhenStatement[] whenStatements
           
 
Constructor Summary
CaseExpression(Expression elseExpression, WhenStatement... whenStatements)
           
 
Method Summary
 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()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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 the Query.getQueryType() method to find out which query language is wanted in case the element requires different syntax for different languages.

Specified by:
toQl in interface QueryElement
Parameters:
query - The query that is about to be executed
dc - The DbControl 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 the AddExpression has two children, the expression beeing added.

Specified by:
getChildren in interface QueryElement
Returns:
All expressions and restrictions used

toString

public String toString()
Overrides:
toString in class Object

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.

Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

2.17.2: 2011-06-17