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 1374911 2012-08-20 04:21:08Z tfischer $
Author:
John D. McNally

Method Summary
 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 isPostInsert()
          A flag to determine the timing of the id generation
 boolean 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 that getIdAsLong(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


Copyright © 2000-2013 The Apache Software Foundation. All Rights Reserved.