public class QueryBuilder
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
QueryBuilder(SchemaTable table,
QueryType qType)
Currently
QueryType.CREATE_TABLE is built entirely in QueryTerm. |
Modifier and Type | Method and Description |
---|---|
QueryBuilder |
addFirstQueryExpression(java.util.List<QueryTerm> terms,
LogicalOpType joinOp)
Adds a group of query terms as start of your query expression.
|
QueryBuilder |
addFirstQueryExpression(QueryTerm term)
Adds the first query term to your query expression.
|
void |
addNameValuePair(NVPair nvp) |
void |
addNameValuePairs(java.util.List<NVPair> nvps) |
QueryBuilder |
addNextQueryExpression(LogicalOpType beforeOp,
java.util.List<QueryTerm> terms,
LogicalOpType joinOp)
Adds a single query term to the query expression
|
QueryBuilder |
addNextQueryExpression(LogicalOpType beforeOp,
QueryTerm term)
Adds a single query term to the query expression
|
protected org.springframework.jdbc.core.namedparam.MapSqlParameterSource |
addToParams(java.util.List<NVPair> nvps) |
QueryInstance |
createQuery() |
protected java.lang.StringBuilder |
getFieldNamesAsCSV() |
protected java.lang.StringBuilder |
getFieldNamesAsCSV(java.util.List<NVPair> nvps) |
protected java.lang.StringBuilder |
getFieldNameSymbolicNamePairsAsCSV() |
protected java.lang.StringBuilder |
getFieldNameSymbolicNamePairsAsCSV(java.util.List<NVPair> nvps) |
QueryBuilder |
getInnerQueryBuilder(SchemaTable table,
QueryType qType)
Returns a QueryBuilder for creating an inner (sub) query.
|
java.lang.String |
getReturnField() |
protected SchemaTable |
getSchemaTable() |
protected java.lang.StringBuilder |
getSymbolicExpression() |
protected java.lang.StringBuilder |
getSymbolicExpression(java.util.List<QueryExpression> expressions) |
protected java.lang.StringBuilder |
getSymbolicNamesAsCSV() |
protected java.lang.StringBuilder |
getSymbolicNamesAsCSV(java.util.List<NVPair> nvps) |
QueryBuilder |
setLimit(int limit) |
void |
setParamsSource(org.springframework.jdbc.core.namedparam.MapSqlParameterSource params) |
QueryBuilder |
setResultsOrderType(java.lang.String orderingField,
ResultsOrderType ordering) |
QueryBuilder |
setReturnField(java.lang.String fieldName)
For an inner query, specifies the field name to return.
|
java.lang.String |
toString() |
protected QueryBuilder(SchemaTable table, QueryType qType)
QueryType.CREATE_TABLE
is built entirely in QueryTerm.
Currently QueryType.INSERT
needs only NVPairs set up here.
table
- qType
- public QueryBuilder getInnerQueryBuilder(SchemaTable table, QueryType qType)
After building the inner query, you add it to the parent builder by:
InnerQueryTerm
using the inner QueryBuilder, andaddFirstQueryExpression(QueryTerm)
, addFirstQueryExpression(List, LogicalOpType)
,
addNextQueryExpression(LogicalOpType, QueryTerm)
, or addNextQueryExpression(LogicalOpType, List, LogicalOpType)
to add that new InnerQueryTerm, as an expression, to the parent builder.table
- Table the inner query operates onqType
- Query typeprotected SchemaTable getSchemaTable()
public QueryBuilder setReturnField(java.lang.String fieldName)
fieldName
- public java.lang.String getReturnField()
public QueryBuilder addFirstQueryExpression(QueryTerm term)
term
- Query termpublic QueryBuilder addFirstQueryExpression(java.util.List<QueryTerm> terms, LogicalOpType joinOp)
terms
- List of query termsjoinOp
- Logical operator used to join each individual query term.
For example: <term1> AND <term2> AND <term3>
public QueryBuilder addNextQueryExpression(LogicalOpType beforeOp, QueryTerm term)
beforeOp
- Logical operator to join this term to the expression.term
- Query termpublic QueryBuilder addNextQueryExpression(LogicalOpType beforeOp, java.util.List<QueryTerm> terms, LogicalOpType joinOp)
beforeOp
- Logical operator to join these terms to the expression. *terms
- List of query termsjoinOp
- Logical operator used to join each individual query term.protected java.lang.StringBuilder getFieldNamesAsCSV()
protected java.lang.StringBuilder getFieldNamesAsCSV(java.util.List<NVPair> nvps)
protected java.lang.StringBuilder getSymbolicNamesAsCSV()
protected java.lang.StringBuilder getSymbolicNamesAsCSV(java.util.List<NVPair> nvps)
protected java.lang.StringBuilder getFieldNameSymbolicNamePairsAsCSV()
protected java.lang.StringBuilder getFieldNameSymbolicNamePairsAsCSV(java.util.List<NVPair> nvps)
protected java.lang.StringBuilder getSymbolicExpression()
protected java.lang.StringBuilder getSymbolicExpression(java.util.List<QueryExpression> expressions)
public void setParamsSource(org.springframework.jdbc.core.namedparam.MapSqlParameterSource params)
protected org.springframework.jdbc.core.namedparam.MapSqlParameterSource addToParams(java.util.List<NVPair> nvps)
public void addNameValuePair(NVPair nvp)
public void addNameValuePairs(java.util.List<NVPair> nvps)
public QueryBuilder setLimit(int limit)
public QueryBuilder setResultsOrderType(java.lang.String orderingField, ResultsOrderType ordering)
public QueryInstance createQuery()
public java.lang.String toString()
toString
in class java.lang.Object