Class DefaultBatchTranslator
- java.lang.Object
-
- org.apache.cayenne.access.translator.batch.DefaultBatchTranslator
-
- All Implemented Interfaces:
BatchTranslator
- Direct Known Subclasses:
DeleteBatchTranslator,InsertBatchTranslator,UpdateBatchTranslator
public abstract class DefaultBatchTranslator extends Object implements BatchTranslator
Superclass of batch query translators.- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description protected DbAdapteradapterprotected DbAttributeBinding[]bindingsprotected BatchQueryqueryprotected Stringsqlprotected booleantranslatedprotected StringtrimFunction
-
Constructor Summary
Constructors Constructor Description DefaultBatchTranslator(BatchQuery query, DbAdapter adapter, String trimFunction)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidappendDbAttribute(StringBuilder buf, DbAttribute dbAttribute)Appends the name of the column to the query buffer.protected abstract DbAttributeBinding[]createBindings()protected abstract StringcreateSql()protected abstract DbAttributeBinding[]doUpdateBindings(BatchQueryRow row)protected voidensureTranslated()DbAttributeBinding[]getBindings()Returns the widest possible array of bindings for this query.StringgetSql()Translates BatchQuery into an SQL string formatted to use in a PreparedStatement.DbAttributeBinding[]updateBindings(BatchQueryRow row)Updates internal bindings to be used with a given row, returning updated bindings array.
-
-
-
Field Detail
-
query
protected BatchQuery query
-
adapter
protected DbAdapter adapter
-
trimFunction
protected String trimFunction
-
translated
protected boolean translated
-
sql
protected String sql
-
bindings
protected DbAttributeBinding[] bindings
-
-
Constructor Detail
-
DefaultBatchTranslator
public DefaultBatchTranslator(BatchQuery query, DbAdapter adapter, String trimFunction)
-
-
Method Detail
-
ensureTranslated
protected void ensureTranslated()
-
getSql
public String getSql()
Translates BatchQuery into an SQL string formatted to use in a PreparedStatement.- Specified by:
getSqlin interfaceBatchTranslator
-
getBindings
public DbAttributeBinding[] getBindings()
Description copied from interface:BatchTranslatorReturns the widest possible array of bindings for this query.- Specified by:
getBindingsin interfaceBatchTranslator
-
updateBindings
public DbAttributeBinding[] updateBindings(BatchQueryRow row)
Description copied from interface:BatchTranslatorUpdates internal bindings to be used with a given row, returning updated bindings array. This method guarantees that the returned array contains the same bindings in the same order as in the array returned fromBatchTranslator.getBindings()(but in a state corresponding to the 'row' parameter). Usually the returned array is actually the same object reused for every iteration, only with changed object state.- Specified by:
updateBindingsin interfaceBatchTranslator
-
createSql
protected abstract String createSql()
-
createBindings
protected abstract DbAttributeBinding[] createBindings()
-
doUpdateBindings
protected abstract DbAttributeBinding[] doUpdateBindings(BatchQueryRow row)
-
appendDbAttribute
protected void appendDbAttribute(StringBuilder buf, DbAttribute dbAttribute)
Appends the name of the column to the query buffer. Subclasses use this method to append column names in the WHERE clause, i.e. for the columns that are not being updated.
-
-