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:
Last modified
$Date: 2014-10-22 18:41:55 +0200 (on, 22 okt 2014) $
  • Field Details

    • elseExpression

      private final Expression elseExpression
    • whenStatements

      private final WhenStatement[] whenStatements
    • hashCode

      private int hashCode
  • Constructor Details

  • Method Details

    • 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