|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.j256.ormlite.stmt.StatementBuilder<T,ID>
T - The class that the code will be operating on.ID - The class of the ID column associated with the class. The T class does not require an ID field. The class
needs an ID parameter however so you can use Void or Object to satisfy the compiler.public abstract class StatementBuilder<T,ID>
Assists in building of SQL statements for a particular table in a particular database.
| Nested Class Summary | |
|---|---|
static class |
StatementBuilder.StatementInfo
Class which wraps information about a statement including the arguments and the generated SQL statement string. |
static class |
StatementBuilder.StatementType
Types of statements that we are building. |
| Field Summary | |
|---|---|
protected boolean |
addTableName
|
protected Dao<T,ID> |
dao
|
protected DatabaseType |
databaseType
|
protected TableInfo<T,ID> |
tableInfo
|
protected String |
tableName
|
protected StatementBuilder.StatementType |
type
|
protected Where<T,ID> |
where
|
| Constructor Summary | |
|---|---|
StatementBuilder(DatabaseType databaseType,
TableInfo<T,ID> tableInfo,
Dao<T,ID> dao,
StatementBuilder.StatementType type)
|
|
| Method Summary | |
|---|---|
protected abstract void |
appendStatementEnd(StringBuilder sb,
List<ArgumentHolder> argList)
Append the end of our statement string to the StringBuilder. |
protected abstract void |
appendStatementStart(StringBuilder sb,
List<ArgumentHolder> argList)
Append the start of our statement string to the StringBuilder. |
protected void |
appendStatementString(StringBuilder sb,
List<ArgumentHolder> argList)
Internal method to build a query while tracking various arguments. |
protected void |
appendWhereStatement(StringBuilder sb,
List<ArgumentHolder> argList,
boolean first)
Append the WHERE part of the statement to the StringBuilder. |
protected String |
buildStatementString(List<ArgumentHolder> argList)
|
void |
clear()
Clear out all of the statement settings so we can reuse the builder. |
protected FieldType[] |
getResultFieldTypes()
Get the result array from our statement after the appendStatementStart(StringBuilder, List) was called. |
protected MappedPreparedStmt<T,ID> |
prepareStatement(Long limit)
Prepare our statement for the subclasses. |
StatementBuilder.StatementInfo |
prepareStatementInfo()
Build and return all of the information about the prepared statement. |
String |
prepareStatementString()
Build and return a string version of the query. |
void |
setWhere(Where<T,ID> where)
Set the Where object on the query. |
protected boolean |
shouldPrependTableNameToColumns()
Return true if we need to prepend table-name to columns. |
protected FieldType |
verifyColumnName(String columnName)
Verify the columnName is valid and return its FieldType. |
Where<T,ID> |
where()
Returns a Where object that should be used to add SQL where clauses to the statement. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final TableInfo<T,ID> tableInfo
protected final String tableName
protected final DatabaseType databaseType
protected final Dao<T,ID> dao
protected StatementBuilder.StatementType type
protected boolean addTableName
protected Where<T,ID> where
| Constructor Detail |
|---|
public StatementBuilder(DatabaseType databaseType,
TableInfo<T,ID> tableInfo,
Dao<T,ID> dao,
StatementBuilder.StatementType type)
| Method Detail |
|---|
public Where<T,ID> where()
Where object that should be used to add SQL where clauses to the statement. This will also
reset the where object so you can use the same query builder with a different where statement.
public void setWhere(Where<T,ID> where)
Where object on the query. This allows someone to use the same Where object on multiple queries.
protected MappedPreparedStmt<T,ID> prepareStatement(Long limit)
throws SQLException
limit - Limit for queries. Can be null if none.
SQLException
public String prepareStatementString()
throws SQLException
SQLException
public StatementBuilder.StatementInfo prepareStatementInfo()
throws SQLException
StatementBuilder.StatementInfo for more details.
SQLExceptionpublic void clear()
protected String buildStatementString(List<ArgumentHolder> argList)
throws SQLException
SQLException
protected void appendStatementString(StringBuilder sb,
List<ArgumentHolder> argList)
throws SQLException
prepareStatementString() method instead.
This needs to be protected because of (WARNING: DO NOT MAKE A JAVADOC LINK) InternalQueryBuilder (WARNING: DO NOT MAKE A JAVADOC LINK).
SQLException
protected abstract void appendStatementStart(StringBuilder sb,
List<ArgumentHolder> argList)
throws SQLException
SQLException
protected void appendWhereStatement(StringBuilder sb,
List<ArgumentHolder> argList,
boolean first)
throws SQLException
SQLException
protected abstract void appendStatementEnd(StringBuilder sb,
List<ArgumentHolder> argList)
throws SQLException
SQLExceptionprotected boolean shouldPrependTableNameToColumns()
protected FieldType[] getResultFieldTypes()
appendStatementStart(StringBuilder, List) was called.
This will be null except for the QueryBuilder.
protected FieldType verifyColumnName(String columnName)
IllegalArgumentException - if the column name is not valid.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||