org.sormula.operation
Class UpdateOperation<R>

java.lang.Object
  extended by org.sormula.operation.SqlOperation<R>
      extended by org.sormula.operation.ModifyOperation<R>
          extended by org.sormula.operation.UpdateOperation<R>
Type Parameters:
R - class type which contains members for columns of a row in a table

public class UpdateOperation<R>
extends ModifyOperation<R>

SQL update operation for row of type R.

Since:
1.0
Author:
Jeff Miller

Constructor Summary
UpdateOperation(Table<R> table)
          Constructs standard sql update for primary key as:
UPDATE table SET c1=?, c2=?, c3...
UpdateOperation(Table<R> table, java.lang.String whereConditionName)
          Constructs for standard sql update statement as:
UPDATE table SET c1=?, c2=?, c3...
 
Method Summary
protected  void initBaseSql()
          Sets base sql with SqlOperation.setBaseSql(String).
protected  java.util.List<CascadeOperation<R,?>> prepareCascades(java.lang.reflect.Field field)
          Creates and prepares cascade operations based upon cascade annotations for a field.
 int update(java.lang.Object... parameters)
          Updates rows based upon parameters.
 int update(R row)
          Updates a row.
 int updateAll(java.util.Collection<R> rows)
          Updates all rows in collection.
 
Methods inherited from class org.sormula.operation.ModifyOperation
close, execute, getRowsAffected, isBatch, modify, modify, modifyAll, postExecute, postExecuteCascade, preExecute, preExecuteCascade, setBatch, setParameters, setRow, setRows, setRows, setRows, setRowsAffected
 
Methods inherited from class org.sormula.operation.SqlOperation
cancel, cascade, closeCascades, closeStatement, createTargetField, getBaseSql, getConnection, getCustomSql, getNextParameter, getOperationTime, getParameters, getPreparedSql, getPreparedStatement, getQueryTimeout, getSql, getTable, getTargetTable, getTimingId, getWhereConditionName, getWhereTranslator, initOperationTime, isAutoGeneratedKeys, isIncludeIdentityColumns, isReadOnly, isTimings, logTimings, prepare, prepareCascades, prepareCheck, prepareColumns, prepareParameters, prepareWhere, setAutoGeneratedKeys, setBaseSql, setCustomSql, setIncludeIdentityColumns, setNextParameter, setQueryTimeout, setReadOnly, setTimingId, setTimings, setWhere, setWhereTranslator, writeColumns, writeParameter, writeParameters, writeWhere
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UpdateOperation

public UpdateOperation(Table<R> table)
                throws OperationException
Constructs standard sql update for primary key as:
UPDATE table SET c1=?, c2=?, c3... WHERE primary key clause

Parameters:
table - update this table
Throws:
OperationException - if error

UpdateOperation

public UpdateOperation(Table<R> table,
                       java.lang.String whereConditionName)
                throws OperationException
Constructs for standard sql update statement as:
UPDATE table SET c1=?, c2=?, c3... WHERE ...

Parameters:
table - update this table
whereConditionName - name of where condition to use ("primaryKey" to update by primary key; empty string to update all rows in table)
Throws:
OperationException - if error
Method Detail

update

public int update(R row)
           throws OperationException
Updates a row. Set parameters, executes, closes. Alias for ModifyOperation.modify(Object).

Parameters:
row - row to use for parameters
Returns:
ModifyOperation.getRowsAffected()
Throws:
OperationException - if error
Since:
1.4

updateAll

public int updateAll(java.util.Collection<R> rows)
              throws OperationException
Updates all rows in collection. Set parameters, executes, closes. Alias for ModifyOperation.modifyAll(Collection).

Parameters:
rows - collection of rows to use as parameters
Returns:
ModifyOperation.getRowsAffected()
Throws:
OperationException - if error
Since:
1.4

update

public int update(java.lang.Object... parameters)
           throws OperationException
Updates rows based upon parameters. Set parameters, executes, closes. Alias for ModifyOperation.modify(Object...).

Parameters:
parameters - operation parameters as objects (see ModifyOperation.setParameters(Object...))
Returns:
count of rows affected
Throws:
OperationException - if error
Since:
1.4

initBaseSql

protected void initBaseSql()
Sets base sql with SqlOperation.setBaseSql(String).


prepareCascades

protected java.util.List<CascadeOperation<R,?>> prepareCascades(java.lang.reflect.Field field)
                                                         throws OperationException
Creates and prepares cascade operations based upon cascade annotations for a field.

Specified by:
prepareCascades in class SqlOperation<R>
Parameters:
field - annotation is for this field of row class R
Returns:
list of cascade operations; empty list for none
Throws:
OperationException - if error