org.castor.cpa.persistence.sql.keygen
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: 8360 $ $Date: 2006-04-10 16:39:24 -0600 (Mon, 10 Apr 2006) $
- Author:
- Oleg Nitz, Bruce Snyder, Ralf Joachim
- See Also:
HighLowKeyGeneratorFactory
Method Summary |
java.lang.Object |
generateKey(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String primKeyName,
java.util.Properties props)
Generate a new key for the specified table. |
void |
initFromParameters(java.util.Properties params)
|
boolean |
isInSameConnection()
Is key generated in the same connection as INSERT?
For DURING_INSERT style this method is never called. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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.
initFromParameters
public void initFromParameters(java.util.Properties params)
throws MappingException
- Throws:
MappingException
generateKey
public java.lang.Object generateKey(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String primKeyName,
java.util.Properties props)
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 nameprops
- A temporary replacement for Principal object
- 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.
Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com