org.datanucleus.store.rdbms.request
Class UpdateRequest

java.lang.Object
  extended by org.datanucleus.store.rdbms.request.Request
      extended by org.datanucleus.store.rdbms.request.UpdateRequest

public class UpdateRequest
extends Request

Class to provide a means of update of records in a data store. Extends basic request class implementing the execute method to do a JDBC update operation.


Field Summary
protected  org.datanucleus.metadata.AbstractClassMetaData cmd
          MetaData for the class.
protected  boolean versionChecks
          Whether we should make checks on optimistic version before updating.
protected  org.datanucleus.metadata.VersionMetaData versionMetaData
          MetaData for the version handling.
 
Fields inherited from class org.datanucleus.store.rdbms.request.Request
key, LOCALISER, table
 
Constructor Summary
UpdateRequest(org.datanucleus.store.mapped.DatastoreClass table, org.datanucleus.metadata.AbstractMemberMetaData[] reqFieldMetaData, java.lang.Class cls, org.datanucleus.ClassLoaderResolver clr)
          Constructor, taking the table.
 
Method Summary
 void execute(org.datanucleus.StateManager sm)
          Method performing the update of the record in the datastore.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cmd

protected org.datanucleus.metadata.AbstractClassMetaData cmd
MetaData for the class.


versionMetaData

protected org.datanucleus.metadata.VersionMetaData versionMetaData
MetaData for the version handling.


versionChecks

protected boolean versionChecks
Whether we should make checks on optimistic version before updating.

Constructor Detail

UpdateRequest

public UpdateRequest(org.datanucleus.store.mapped.DatastoreClass table,
                     org.datanucleus.metadata.AbstractMemberMetaData[] reqFieldMetaData,
                     java.lang.Class cls,
                     org.datanucleus.ClassLoaderResolver clr)
Constructor, taking the table. Uses the structure of the datastore table to build a basic query. The query will be of the form
 UPDATE table-name SET param1=?,param2=? WHERE id1=? AND id2=?
or (when also performing version checks)
 UPDATE table-name SET param1=?,param2=?,version={newvers} WHERE id1=? AND id2=? AND version={oldvers}

Parameters:
table - The Class Table representing the datastore table to update
reqFieldMetaData - MetaData of the fields to update
cls - Class of objects being updated
clr - ClassLoader resolver
Method Detail

execute

public void execute(org.datanucleus.StateManager sm)
Method performing the update of the record in the datastore. Takes the constructed update query and populates with the specific record information.

Specified by:
execute in class Request
Parameters:
sm - The state manager for the record to be updated


Copyright © 2009. All Rights Reserved.