public abstract class JRSqlAbstractInClause extends java.lang.Object implements JRClauseFunction
The first token in the $X{...} syntax is the function ID token. Possible values for the (NOT) IN clause function ID token are:
IN
NOTIN
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
CLAUSE_TRUISM |
protected static int |
POSITION_DB_COLUMN |
protected static int |
POSITION_PARAMETER |
Modifier | Constructor and Description |
---|---|
protected |
JRSqlAbstractInClause() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
appendAndOrOperator(java.lang.StringBuffer sBuffer) |
protected abstract void |
appendInOperator(java.lang.StringBuffer sBuffer) |
protected abstract void |
appendNullOperator(java.lang.StringBuffer sBuffer) |
void |
apply(JRClauseTokens clauseTokens,
JRQueryClauseContext queryContext)
Creates a (NOT) IN SQL clause.
|
protected java.util.Collection |
convert(java.lang.String paramName,
java.lang.Object paramValue) |
protected void |
handleNoValues(JRQueryClauseContext queryContext)
Generate a SQL clause that will always evaluate to true (e.g.
|
protected static final int POSITION_DB_COLUMN
protected static final int POSITION_PARAMETER
protected static final java.lang.String CLAUSE_TRUISM
public void apply(JRClauseTokens clauseTokens, JRQueryClauseContext queryContext)
The function expects two clause tokens (after the ID token):
java.util.Collection
or null
.
The function constructs one of the following clauses:
<column_name> IN (?, ?, .., ?)
clause(<column_name> IS NULL OR <column_name> IN (?, ?, .., ?))
clause<column_name> IS NULL
clause<column_name> NOT IN (?, ?, .., ?)
clause(<column_name> IS NOT NULL AND <column_name> NOT IN (?, ?, .., ?))
clause<column_name> IS NOT NULL
clause0 = 0
).apply
in interface JRClauseFunction
clauseTokens
- queryContext
- protected void handleNoValues(JRQueryClauseContext queryContext)
0 = 0
').queryContext
- the query contextprotected java.util.Collection convert(java.lang.String paramName, java.lang.Object paramValue)
paramName
- the parameter nameparamValue
- the parameter valuejava.util.Collection
type object obtained either by converting an array to
a list or by a cast to java.util.Collection
type.protected abstract void appendInOperator(java.lang.StringBuffer sBuffer)
protected abstract void appendNullOperator(java.lang.StringBuffer sBuffer)
protected abstract void appendAndOrOperator(java.lang.StringBuffer sBuffer)
© 2001-2010 Jaspersoft Corporation www.jaspersoft.com