public class SimpleCaseStatement extends BaseCaseStatement<SimpleCaseStatement>
"CASE <column1> WHEN <val1> THEN <result1> [ WHEN
<val2> THEN <result2> WHEN ... ] [ELSE <resultN>]
END"
(where the values are numeric/string values).EMPTY
ALL_SYMBOL, NULL_VALUE, QUESTION_MARK
Constructor and Description |
---|
SimpleCaseStatement(Column column) |
SimpleCaseStatement(Object operand)
|
Modifier and Type | Method and Description |
---|---|
SimpleCaseStatement |
addNumericWhen(Object value,
Object result)
Adds a "WHEN" clause to the "CASE" statement.
|
SimpleCaseStatement |
addWhen(String value,
Object result)
Adds a "WHEN" clause to the "CASE" statement.
|
protected void |
appendCustomIfNotNull(AppendableExt app,
SqlObject obj)
Appends the given custom clause to the given AppendableExt, handling
null and enclosing parens. |
protected void |
appendNestedClauses(AppendableExt app,
SqlObjectList<? extends com.healthmarketscience.sqlbuilder.NestableClause> nestedClauses)
Appends the given nested clauses to the given AppendableExt, handling
empty nested clauses and enclosing parens.
|
protected static boolean |
areEmpty(SqlObjectList<? extends com.healthmarketscience.sqlbuilder.NestableClause> nestedClauses)
Determines if any of the given clauses are non-empty.
|
protected void |
closeParen(AppendableExt app)
Appends a close parenthesis to the given AppendableExt if disableParens is
true , otherwise does nothing. |
boolean |
hasParens()
Returns
true iff the output of this instance would include
surrounding parentheses, false otherwise. |
protected static boolean |
hasParens(SqlObjectList<? extends com.healthmarketscience.sqlbuilder.NestableClause> nestedClauses)
Determines if any of the given clauses are non-empty.
|
boolean |
isDisableParens()
Returns whether or not wrapping parentheses are disabled for this clause
(for clauses which utilize wrapping parentheses).
|
protected void |
openParen(AppendableExt app)
Appends an open parenthesis to the given AppendableExt if disableParens is
true , otherwise does nothing. |
addCustomWhen, addElse, addElseNull, appendTo, collectSchemaObjects, getThisType, isEmpty, validate, validate
setDisableParens
collectSchemaObjects, doValidate, toString
toString, toString
public SimpleCaseStatement(Column column)
column
- the column to reference at the beginning of the "CASE"
statementpublic SimpleCaseStatement(Object operand)
operand
- the custom column to reference at the beginning of the
"CASE" statementpublic SimpleCaseStatement addNumericWhen(Object value, Object result)
Value Object
-> SqlObject
conversions handled by
Converter.toValueSqlObject(Object)
.
Result Object
-> SqlObject
conversions handled by
Converter.toColumnSqlObject(Object)
.
value
- the value to test against the column of this "CASE"
statementresult
- the result to output if this "WHEN" clause is selectedpublic SimpleCaseStatement addWhen(String value, Object result)
Result Object
-> SqlObject
conversions handled by
Converter.toColumnSqlObject(Object)
.
value
- the value to test against the column of this "CASE"
statementresult
- the result to output if this "WHEN" clause is selectedpublic boolean isDisableParens()
false
.public boolean hasParens()
true
iff the output of this instance would include
surrounding parentheses, false
otherwise.
Default implementation returns !isEmpty() && !isDisableParens()
.
protected static boolean areEmpty(SqlObjectList<? extends com.healthmarketscience.sqlbuilder.NestableClause> nestedClauses)
false
if at least one clause is non-empty, true
otherwiseprotected static boolean hasParens(SqlObjectList<? extends com.healthmarketscience.sqlbuilder.NestableClause> nestedClauses)
false
if at least one clause is non-empty, true
otherwiseprotected void openParen(AppendableExt app) throws IOException
true
, otherwise does nothing.IOException
protected void closeParen(AppendableExt app) throws IOException
true
, otherwise does nothing.IOException
protected void appendCustomIfNotNull(AppendableExt app, SqlObject obj) throws IOException
null
and enclosing parens.IOException
protected void appendNestedClauses(AppendableExt app, SqlObjectList<? extends com.healthmarketscience.sqlbuilder.NestableClause> nestedClauses) throws IOException
IOException
Copyright © 2006–2021 OpenHMS. All rights reserved.