Class KeyGeneratorTypeHandlerInteger

java.lang.Object
org.castor.cpa.persistence.sql.keygen.typehandler.KeyGeneratorTypeHandlerInteger
All Implemented Interfaces:
KeyGeneratorTypeHandler<Integer>

public final class KeyGeneratorTypeHandlerInteger extends Object implements KeyGeneratorTypeHandler<Integer>
Class implementing the KeyGeneratorTypeHandler for Integer type.
Version:
$Revision$ $Date: 2009-07-13 17:22:43 (Tue, 28 Jul 2009) $
Author:
Ahmad Hassan, Ralf Joachim
  • Constructor Details

    • KeyGeneratorTypeHandlerInteger

      public KeyGeneratorTypeHandlerInteger(boolean fail)
      Construct an type handler for integer values.
      Parameters:
      fail - true if the type handler should fail when current row of the record set is not valid, false otherwise.
    • KeyGeneratorTypeHandlerInteger

      public KeyGeneratorTypeHandlerInteger(boolean fail, int allocationSize)
  • Method Details

    • getNextValue

      public Integer getNextValue(ResultSet rs) throws PersistenceException, SQLException
      Gets the value from resultset by calling getValue method and then calls the increment method to increment the extracted value.
      Specified by:
      getNextValue in interface KeyGeneratorTypeHandler<Integer>
      Parameters:
      rs - A ResultSet object.
      Returns:
      Returns the new value after incrementing it.
      Throws:
      PersistenceException - If ResultSet is empty or if the type handler should fail when current row of the record set is not valid,
      SQLException - If database error occurs.
    • getValue

      public Integer getValue(ResultSet rs) throws PersistenceException, SQLException
      Reads the resultset and return the extracted typehandler value from the resultset.
      Specified by:
      getValue in interface KeyGeneratorTypeHandler<Integer>
      Parameters:
      rs - ResultSet object
      Returns:
      Value extracted from the ResultSet.
      Throws:
      PersistenceException - If ResultSet is empty or if the type handler should fail when current row of the record set is not valid,
      SQLException - If database error occurs.
    • increment

      public Integer increment(Integer value)
      Increments the provided value by ONE.
      Specified by:
      increment in interface KeyGeneratorTypeHandler<Integer>
      Parameters:
      value - value to be incremented.
      Returns:
      Modified TypeHandler object with incremented value..
    • add

      public Integer add(Integer value, int offset)
      Adds the new Type Handler of type T to the provided handler instance at the provided offset.
      Specified by:
      add in interface KeyGeneratorTypeHandler<Integer>
      Parameters:
      value - Handler instance in which new value will be added
      offset - Offset location. *
      Returns:
      Modified object.
    • bindValue

      public void bindValue(PreparedStatement stmt, int index, Integer value) throws SQLException
      Binds the value in the sql preparedstatement at the provided index location.
      Specified by:
      bindValue in interface KeyGeneratorTypeHandler<Integer>
      Parameters:
      stmt - A SQL PreparedStatement.
      index - Index location for binding parameter to statement.
      value - Value to be binded
      Throws:
      SQLException - If SQL error occurs in binding param to sql statement.