Class TableKeyGenerator
- java.lang.Object
-
- org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
-
- org.castor.cpa.persistence.sql.keygen.AbstractBeforeKeyGenerator
-
- org.castor.cpa.persistence.sql.keygen.TableKeyGenerator
-
- All Implemented Interfaces:
KeyGenerator
public class TableKeyGenerator extends AbstractBeforeKeyGenerator
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_ALLOCATION_SIZE
static int
DEFAULT_INITIAL_VALUE
static java.lang.String
DEFAULT_PK_COLUMN_NAME
static java.lang.String
DEFAULT_PK_COLUMN_VALUE
static java.lang.String
DEFAULT_TABLE_NAME
static java.lang.String
DEFAULT_VALUE_COLUMN_NAME
static java.lang.String
DESCRIPTOR_KEY
-
Constructor Summary
Constructors Constructor Description TableKeyGenerator(PersistenceFactory factory, java.util.Properties params, int sqlType)
Creates an instance of this key generator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
generateKey(java.sql.Connection connection, java.lang.String tableName, java.lang.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? 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
-
-
-
-
Field Detail
-
DESCRIPTOR_KEY
public static final java.lang.String DESCRIPTOR_KEY
- See Also:
- Constant Field Values
-
DEFAULT_TABLE_NAME
public static final java.lang.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 java.lang.String DEFAULT_PK_COLUMN_NAME
- See Also:
- Constant Field Values
-
DEFAULT_VALUE_COLUMN_NAME
public static final java.lang.String DEFAULT_VALUE_COLUMN_NAME
- See Also:
- Constant Field Values
-
DEFAULT_PK_COLUMN_VALUE
public static final java.lang.String DEFAULT_PK_COLUMN_VALUE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TableKeyGenerator
public TableKeyGenerator(PersistenceFactory factory, java.util.Properties params, int sqlType) throws MappingException
Creates an instance of this key generator.- Parameters:
factory
- The currentPersistenceFactory
instance.params
- Parameters for the key generator.sqlType
- The SQL type of the identity field.- Throws:
MappingException
-
-
Method Detail
-
generateKey
public java.lang.Object generateKey(java.sql.Connection connection, java.lang.String tableName, java.lang.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 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()
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()
-
-