org.castor.cpa.persistence.sql.keygen
Class AbstractAfterKeyGenerator

java.lang.Object
  extended by org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
      extended by org.castor.cpa.persistence.sql.keygen.AbstractAfterKeyGenerator
All Implemented Interfaces:
KeyGenerator
Direct Known Subclasses:
IdentityKeyGenerator, SequenceAfterKeyGenerator

public abstract class AbstractAfterKeyGenerator
extends AbstractKeyGenerator

Abstract class that implements the KeyGenerator interface for AFTER_INSERT style. The key generator is used for producing identities for objects before they are created in the database.

Version:
$Revision$ $Date: 2009-07-13 17:22:43 (Tue, 28 Jul 2009) $
Author:
Ahmad Hassan, Ralf Joachim

Constructor Summary
AbstractAfterKeyGenerator(PersistenceFactory factory, java.util.Properties params)
          Constructor.
 
Method Summary
 KeyGenerator buildStatement(SQLEngine engine)
          Builds the SQL insert statement.
 java.lang.Object executeStatement(Database database, java.sql.Connection conn, Identity identity, ProposedEntity entity)
          Executes the SQL statement after preparing the PreparedStatement.
 
Methods inherited from class org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
closeSeparateConnection, getSeparateConnection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.castor.cpa.persistence.sql.keygen.KeyGenerator
generateKey, isInSameConnection
 

Constructor Detail

AbstractAfterKeyGenerator

public AbstractAfterKeyGenerator(PersistenceFactory factory,
                                 java.util.Properties params)
Constructor.

Parameters:
factory - Persistence factory for the database engine the entity is persisted in. Used to format the SQL statement
params - Parameters for key generator.
Method Detail

buildStatement

public KeyGenerator buildStatement(SQLEngine engine)
Builds the SQL insert statement.

Parameters:
engine - SQL engine for all persistence operations at entities of the type this class is responsible for. Holds all required information of the entity type.
Returns:
KeyGenerator

executeStatement

public java.lang.Object executeStatement(Database database,
                                         java.sql.Connection conn,
                                         Identity identity,
                                         ProposedEntity entity)
                                  throws PersistenceException
Executes the SQL statement after preparing the PreparedStatement.

Parameters:
database - A database instance.
conn - An Open JDBC connection.
identity - Identity of the object to insert.
entity - Entity instance from which field values to be fetached to bind with sql insert statement.
Returns:
Identity
Throws:
PersistenceException - If failed to insert record into database. This could happen if a database access error occurs, If identity size mismatches, unable to retrieve Identity, If provided Identity is null, If Extended engine is null.


Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com