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 and 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 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

    - #### isGetGeneratedKeysSupported

          boolean isGetGeneratedKeysSupported()

      A flag to determine whether Statement#getGeneratedKeys() should be used.
      Returns:
        a `boolean` value

Copyright © 2000–2020 The Apache Software Foundation. All rights reserved.