public abstract class Expression extends SqlObject
Modifier and Type | Field and Description |
---|---|
static Expression |
EMPTY
an Expression object which will always return
true for
NestableClause.isEmpty() . |
ALL_SYMBOL, NULL_VALUE, QUESTION_MARK
Modifier | Constructor and Description |
---|---|
protected |
Expression() |
Modifier and Type | Method and Description |
---|---|
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).
|
boolean |
isEmpty()
Returns
true iff the output of this instance would be an
empty expression, false otherwise. |
protected void |
openParen(AppendableExt app)
Appends an open parenthesis to the given AppendableExt if disableParens is
true , otherwise does nothing. |
Expression |
setDisableParens(boolean disableParens)
Controls whether or not this clause will wrap itself in parentheses (for
relevant clauses).
|
collectSchemaObjects, collectSchemaObjects, doValidate, toString
appendTo, toString, toString
public static final Expression EMPTY
true
for
NestableClause.isEmpty()
. useful for selectively including expression
blockspublic Expression setDisableParens(boolean disableParens)
Warning: you should generally not disable parentheses as this may change the meaning of the SQL query. However, sometimes non-standard SQL queries may require direct control over the wrapping parentheses.
public boolean isDisableParens()
false
.public boolean isEmpty()
true
iff the output of this instance would be an
empty expression, false
otherwise.
Default implementation returns 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.