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

java.lang.Object
  extended by org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
      extended by org.castor.cpa.persistence.sql.keygen.AbstractBeforeKeyGenerator
          extended by org.castor.cpa.persistence.sql.keygen.TableKeyGenerator
All Implemented Interfaces:
KeyGenerator

public class TableKeyGenerator
extends AbstractBeforeKeyGenerator


Field Summary
static int DEFAULT_ALLOCATION_SIZE
           
static int DEFAULT_INITIAL_VALUE
           
static String DEFAULT_PK_COLUMN_NAME
           
static String DEFAULT_PK_COLUMN_VALUE
           
static String DEFAULT_TABLE_NAME
           
static String DEFAULT_VALUE_COLUMN_NAME
           
static String DESCRIPTOR_KEY
           
 
Constructor Summary
TableKeyGenerator(PersistenceFactory factory, Properties params, int sqlType)
          Creates an instance of this key generator.
 
Method Summary
 Object generateKey(Connection connection, String tableName, String primKeyName)
          Generate a new key for the specified table.
 JPATableGeneratorDescriptor getDescriptor()
           
 PersistenceFactory getFactory()
           
 boolean isInSameConnection()
          Is key generated in the same connection as INSERT?
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DESCRIPTOR_KEY

public static final String DESCRIPTOR_KEY
See Also:
Constant Field Values

DEFAULT_TABLE_NAME

public static final String DEFAULT_TABLE_NAME
See Also:
Constant Field Values

DEFAULT_ALLOCATION_SIZE

public static final int DEFAULT_ALLOCATION_SIZE
See Also:
Constant Field Values

DEFAULT_INITIAL_VALUE

public static final int DEFAULT_INITIAL_VALUE
See Also:
Constant Field Values

DEFAULT_PK_COLUMN_NAME

public static final String DEFAULT_PK_COLUMN_NAME
See Also:
Constant Field Values

DEFAULT_VALUE_COLUMN_NAME

public static final String DEFAULT_VALUE_COLUMN_NAME
See Also:
Constant Field Values

DEFAULT_PK_COLUMN_VALUE

public static final String DEFAULT_PK_COLUMN_VALUE
See Also:
Constant Field Values
Constructor Detail

TableKeyGenerator

public TableKeyGenerator(PersistenceFactory factory,
                         Properties params,
                         int sqlType)
                  throws MappingException
Creates an instance of this key generator.

Parameters:
factory - The current PersistenceFactory instance.
params - Parameters for the key generator.
sqlType - The SQL type of the identity field.
Throws:
MappingException
Method Detail

generateKey

public Object generateKey(Connection connection,
                          String tableName,
                          String primKeyName)
                   throws PersistenceException
Description copied from interface: KeyGenerator
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:
connection - An open connection within the given transaction
tableName - The table name
primKeyName - The primary key name
Returns:
A new key
Throws:
PersistenceException - An error occured talking to persistent storage

isInSameConnection

public boolean isInSameConnection()
Description copied from interface: KeyGenerator
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.

getFactory

public PersistenceFactory getFactory()

getDescriptor

public JPATableGeneratorDescriptor getDescriptor()


Copyright © 2011. All Rights Reserved.