org.exolab.castor.jdo.drivers

Class SequenceKeyGenerator

public final class SequenceKeyGenerator extends Object implements KeyGenerator

SEQUENCE key generator.

Version: $Revision: 1.1.1.1 $ $Date: 2003/03/03 07:08:15 $

Author: Oleg Nitz

See Also: SequenceKeyGeneratorFactory

Field Summary
protected PersistenceFactory_factory
protected String_factoryName
protected String_seqName
Constructor Summary
SequenceKeyGenerator(PersistenceFactory factory, Properties params, int sqlType)
Initialize the SEQUENCE 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)

Field Detail

_factory

protected final PersistenceFactory _factory

_factoryName

protected final String _factoryName

_seqName

protected final String _seqName

Constructor Detail

SequenceKeyGenerator

public SequenceKeyGenerator(PersistenceFactory factory, Properties params, int sqlType)
Initialize the SEQUENCE key generator.

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 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 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)
Intalio Inc. (C) 1999-2003. All rights reserved http://www.intalio.com