Package org.apache.torque.oid
Interface IdGenerator
-
- All Known Implementing Classes:
AbstractIdGenerator
,AutoIncrementIdGenerator
,IDBroker
,SequenceIdGenerator
public interface IdGenerator
Interface 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 BigDecimal
getIdAsBigDecimal(Connection connection, Object keyInfo)
Returns an id as a BigDecimal.int
getIdAsInt(Connection connection, Object keyInfo)
Returns an id as a primitive int.long
getIdAsLong(Connection connection, Object keyInfo)
Returns an id as a primitive long.String
getIdAsString(Connection connection, Object keyInfo)
Returns an id as a String.boolean
isConnectionRequired()
A flag to determine whether a Connection is required to generate an id.boolean
isGetGeneratedKeysSupported()
A flag to determine whether Statement#getGeneratedKeys() should be used.boolean
isPostInsert()
A flag to determine the timing of the id generationboolean
isPriorToInsert()
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
boolean
value
-
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
boolean
value
-
isGetGeneratedKeysSupported
boolean isGetGeneratedKeysSupported()
A flag to determine whether Statement#getGeneratedKeys() should be used.- Returns:
- a
boolean
value
-
-