org.exolab.castor.jdo.keygen

Class IdentityKeyGenerator

public final class IdentityKeyGenerator extends Object implements KeyGenerator

IDENTITY key generator.

Version: $Revision: 1.2 $ $Date: 2005/09/17 12:05:40 $

Author: Oleg Nitz Stein M. Hugubakken Bruce Snyder

See Also: IdentityKeyGeneratorFactory

Field Summary
StringfName
Constructor Summary
IdentityKeyGenerator(PersistenceFactory factory, int sqlType)
Initialize the IDENTITY key generator.
Method Summary
ObjectgenerateKey(Connection conn, String tableName, String primKeyName, Properties props)
bytegetStyle()
Style of key generator: BEFORE_INSERT, DURING_INSERT or AFTER_INSERT ?
booleanisInSameConnection()
Is key generated in the same connection as INSERT?
StringpatchSQL(String insert, String primKeyName)
Gives a possibility to patch the Castor-generated SQL statement for INSERT (makes sense for DURING_INSERT key generators)
voidsupportsSqlType(int sqlType)
Determine if the key generator supports a given sql type.

Field Detail

fName

String fName

Constructor Detail

IdentityKeyGenerator

public IdentityKeyGenerator(PersistenceFactory factory, int sqlType)
Initialize the IDENTITY key generator.

Parameters: factory A PersistenceFactory instance. sqlType A SQLTypidentifier.

Throws: MappingException if this key generator is not compatible with the persistance factory.

Method Detail

generateKey

public Object generateKey(Connection conn, String tableName, String primKeyName, Properties props)

Parameters: conn An open connection within the given transaction tableName The table name primKeyName The primary key name props A temporary replacement for Principal object

Returns: A new key

Throws: PersistenceException An error occured talking to persistent storage

getStyle

public final byte getStyle()
Style of key generator: BEFORE_INSERT, DURING_INSERT or AFTER_INSERT ?

isInSameConnection

public boolean isInSameConnection()
Is key generated in the same connection as INSERT?

patchSQL

public final String patchSQL(String insert, String primKeyName)
Gives a possibility to patch the Castor-generated SQL statement for INSERT (makes sense for DURING_INSERT key generators)

supportsSqlType

public void supportsSqlType(int sqlType)
Determine if the key generator supports a given sql type.

Parameters: sqlType

Throws: MappingException

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