Package org.apache.torque.oid
Interface IdGenerator
-
- All Known Implementing Classes:
AbstractIdGenerator,AutoIncrementIdGenerator,IDBroker,SequenceIdGenerator
public interface IdGeneratorInterface to be implemented by id generators. It is possible that some implementations might not require all the arguments, for example MySQL will not require a keyInfo Object, while the IDBroker implementation does not require a Connection as it only rarely needs one and retrieves a connection from the Connection pool service only when needed.- Version:
- $Id: IdGenerator.java 1850586 2019-01-06 18:46:35Z tv $
- Author:
- John D. McNally
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description BigDecimalgetIdAsBigDecimal(Connection connection, Object keyInfo)Returns an id as a BigDecimal.intgetIdAsInt(Connection connection, Object keyInfo)Returns an id as a primitive int.longgetIdAsLong(Connection connection, Object keyInfo)Returns an id as a primitive long.StringgetIdAsString(Connection connection, Object keyInfo)Returns an id as a String.booleanisConnectionRequired()A flag to determine whether a Connection is required to generate an id.booleanisGetGeneratedKeysSupported()A flag to determine whether Statement#getGeneratedKeys() should be used.booleanisPostInsert()A flag to determine the timing of the id generationbooleanisPriorToInsert()A flag to determine the timing of the id generation
-
-
-
Method Detail
-
getIdAsInt
int getIdAsInt(Connection connection, Object keyInfo) throws TorqueException
Returns an id as a primitive int. If you use numeric identifiers, it's suggested thatgetIdAsLong(Connection, Object)be used instead (due to the limited range of this method).- Parameters:
connection- The database connection to use.keyInfo- an Object that contains additional info.- Returns:
- The id as integer.
- Throws:
TorqueException- if a Database error occurs.
-
getIdAsLong
long getIdAsLong(Connection connection, Object keyInfo) throws TorqueException
Returns an id as a primitive long.- Parameters:
connection- The database connection to use.keyInfo- an Object that contains additional info.- Returns:
- The id as long.
- Throws:
TorqueException- if a Database error occurs.
-
getIdAsBigDecimal
BigDecimal getIdAsBigDecimal(Connection connection, Object keyInfo) throws TorqueException
Returns an id as a BigDecimal.- Parameters:
connection- The database connection to use.keyInfo- an Object that contains additional info.- Returns:
- The id as BigDecimal.
- Throws:
TorqueException- if a Database error occurs.
-
getIdAsString
String getIdAsString(Connection connection, Object keyInfo) throws TorqueException
Returns an id as a String.- Parameters:
connection- The database connection to use.keyInfo- an Object that contains additional info.- Returns:
- The id as String.
- Throws:
TorqueException- if a Database error occurs.
-
isPriorToInsert
boolean isPriorToInsert()
A flag to determine the timing of the id generation- Returns:
- a
booleanvalue
-
isPostInsert
boolean isPostInsert()
A flag to determine the timing of the id generation- Returns:
- Whether id is availble post-
insert.
-
isConnectionRequired
boolean isConnectionRequired()
A flag to determine whether a Connection is required to generate an id.- Returns:
- a
booleanvalue
-
isGetGeneratedKeysSupported
boolean isGetGeneratedKeysSupported()
A flag to determine whether Statement#getGeneratedKeys() should be used.- Returns:
- a
booleanvalue
-
-