public static class SQLUtils.WhereClauseBuilder<V>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected static class |
SQLUtils.WhereClauseBuilder.Condition |
Constructor and Description |
---|
SQLUtils.WhereClauseBuilder(boolean conjunctive) |
Modifier and Type | Method and Description |
---|---|
SQLUtils.WhereClauseBuilder<V> |
addGroupedConditions(java.util.Map<java.lang.String,V> fieldsAndValues,
java.util.Map<java.lang.String,SQLUtils.CompareMode> compareModes)
Adds a set of grouped inner conditions.
|
SQLUtils.WhereClauseBuilder<V> |
addGroupedConditions(java.util.Map<java.lang.String,V> fieldsAndValues,
java.util.Set<java.lang.String> caseSensitiveFields,
java.util.Set<java.lang.String> wildcardFields)
Adds a set of grouped inner conditions.
|
SQLUtils.WhereClause<V> |
build(java.sql.Connection conn)
Builds a WhereClause based on the conditions previously specified with addGroupedConditions().
|
protected java.lang.String |
buildNormalForm(java.sql.Connection conn) |
int |
countGroups()
Checks the number of groups which have been added via addGroupedConditions().
|
public SQLUtils.WhereClauseBuilder(boolean conjunctive)
conjunctive
- Set to true
for Conjunctive Normal Form: (a OR b) AND (x OR y).
Set to false
for Disjunctive Normal Form: (a AND b) OR (x AND y).public SQLUtils.WhereClauseBuilder<V> addGroupedConditions(java.util.Map<java.lang.String,V> fieldsAndValues, java.util.Set<java.lang.String> caseSensitiveFields, java.util.Set<java.lang.String> wildcardFields) throws java.sql.SQLException
fieldsAndValues
- Unquoted field names mapped to raw valuescaseSensitiveFields
- A set of field names which should use case sensitive compare.wildcardFields
- A set of field names which should use a "LIKE" SQL clause for wildcard search.java.sql.SQLException
SQLUtils.convertWildcards(String)
public SQLUtils.WhereClauseBuilder<V> addGroupedConditions(java.util.Map<java.lang.String,V> fieldsAndValues, java.util.Map<java.lang.String,SQLUtils.CompareMode> compareModes) throws java.sql.SQLException
fieldsAndValues
- Unquoted field names mapped to raw valuescompareModes
- Field names mapped to compare modesjava.sql.SQLException
SQLUtils.convertWildcards(String)
public int countGroups()
public SQLUtils.WhereClause<V> build(java.sql.Connection conn) throws java.sql.SQLException
conn
- A SQL Connection for which the query will be formatted.java.sql.SQLException
protected java.lang.String buildNormalForm(java.sql.Connection conn) throws java.sql.SQLException
java.sql.SQLException