Class HighLowKeyGenerator
- java.lang.Object
-
- org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
-
- org.castor.cpa.persistence.sql.keygen.AbstractBeforeKeyGenerator
-
- org.castor.cpa.persistence.sql.keygen.HighLowKeyGenerator
-
- All Implemented Interfaces:
KeyGenerator
public final class HighLowKeyGenerator extends AbstractBeforeKeyGenerator
HIGH-LOW key generators.- Version:
- $Revision: 8685 $ $Date: 2006-04-10 16:39:24 -0600 (Mon, 10 Apr 2006) $
- Author:
- Oleg Nitz, Bruce Snyder, Ralf Joachim
- See Also:
HighLowKeyGeneratorFactory
-
-
Constructor Summary
Constructors Constructor Description HighLowKeyGenerator(PersistenceFactory factory, java.util.Properties params, int sqlType)
Initialize the HIGH-LOW key generator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
generateKey(java.sql.Connection conn, java.lang.String tableName, java.lang.String primKeyName)
Generate a new key for the specified table.void
initFromParameters(java.util.Properties params)
Method to init some class variables.boolean
isInSameConnection()
Is key generated in the same connection as INSERT? For DURING_INSERT style this method is never called.-
Methods inherited from class org.castor.cpa.persistence.sql.keygen.AbstractBeforeKeyGenerator
bindIdentity, buildStatement, executeStatement
-
Methods inherited from class org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
closeSeparateConnection, getSeparateConnection
-
-
-
-
Constructor Detail
-
HighLowKeyGenerator
public HighLowKeyGenerator(PersistenceFactory factory, java.util.Properties params, int sqlType) throws MappingException
Initialize the HIGH-LOW key generator.- Parameters:
factory
- A PersistenceFactory instance.params
- Database engine specific parameters.sqlType
- A SQLTypidentifier.- Throws:
MappingException
- if this key generator is not compatible with the persistance factory.
-
-
Method Detail
-
initFromParameters
public void initFromParameters(java.util.Properties params) throws MappingException
Method to init some class variables.- Parameters:
params
- Database engine specific parameters.- Throws:
MappingException
- if this key generator is not compatible with the persistance factory.
-
generateKey
public java.lang.Object generateKey(java.sql.Connection conn, java.lang.String tableName, java.lang.String primKeyName) throws PersistenceException
Generate a new key for the specified table. This method is called when a new object is about to be created. In some environments the name of the owner of the object is known, e.g. the principal in a J2EE server. This method is never called for DURING_INSERT key generators.- Parameters:
conn
- An open connection within the given transactiontableName
- The table nameprimKeyName
- The primary key name- Returns:
- A new key
- Throws:
PersistenceException
- An error occured talking to persistent storage
-
isInSameConnection
public boolean isInSameConnection()
Is key generated in the same connection as INSERT? For DURING_INSERT style this method is never called.- Returns:
- {code}True{code} If this instance is in same JDBC Connection.
-
-