Package org.springframework.batch.item.database.support

# Class DefaultDataFieldMaxValueIncrementerFactory

java.lang.Object
org.springframework.batch.item.database.support.DefaultDataFieldMaxValueIncrementerFactory

All Implemented Interfaces:
  `DataFieldMaxValueIncrementerFactory`

public class DefaultDataFieldMaxValueIncrementerFactory extends Object implements DataFieldMaxValueIncrementerFactory
Default implementation of the `DataFieldMaxValueIncrementerFactory` interface. Valid database types are given by the `DatabaseType` enum. Note: For MySql databases, the `MySQLMaxValueIncrementer.setUseNewConnection(boolean)` will be set to true.

Author:
  Lucas Ward, Michael Minella, Drummond Dawson, Mahmoud Ben Hassine
See Also:
  - `DatabaseType`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DefaultDataFieldMaxValueIncrementerFactory(DataSource dataSource)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer`
  `getIncrementer(String incrementerType, String incrementerName)`
  Return the `DataFieldMaxValueIncrementer` for the provided database type.
  `String[]`
  `getSupportedIncrementerTypes()`
  Returns the list of supported database incrementer types
  `boolean`
  `isSupportedIncrementerType(String incrementerType)`
  Returns boolean indicated whether or not the provided string is supported by this factory.
  `void`
  `setIncrementerColumnName(String incrementerColumnName)`
  Public setter for the column name (defaults to "ID") in the incrementer.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### DefaultDataFieldMaxValueIncrementerFactory

    public DefaultDataFieldMaxValueIncrementerFactory(DataSource dataSource)

- ## Method Details

  - ### setIncrementerColumnName

    public void setIncrementerColumnName(String incrementerColumnName)
    Public setter for the column name (defaults to "ID") in the incrementer. Only used by some platforms (Derby, HSQL, MySQL, SQL Server and Sybase), and should be fine for use with Spring Batch meta data as long as the default batch schema hasn't been changed.
    Parameters:
      `incrementerColumnName` - the primary key column name to set

  - ### getIncrementer

    public org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer getIncrementer(String incrementerType, String incrementerName)
    Description copied from interface: `DataFieldMaxValueIncrementerFactory`
    Return the `DataFieldMaxValueIncrementer` for the provided database type.
    Specified by:
      `getIncrementer` in interface `DataFieldMaxValueIncrementerFactory`
    Parameters:
      `incrementerType` - string represented database type
      `incrementerName` - incrementer name to create. In many cases this may be the sequence name
    Returns:
      incrementer

  - ### isSupportedIncrementerType

    public boolean isSupportedIncrementerType(String incrementerType)
    Description copied from interface: `DataFieldMaxValueIncrementerFactory`
    Returns boolean indicated whether or not the provided string is supported by this factory.
    Specified by:
      `isSupportedIncrementerType` in interface `DataFieldMaxValueIncrementerFactory`
    Parameters:
      `incrementerType` - `String` containing the database type.
    Returns:
      true if the incrementerType is supported by this database type. Else false is returned.

  - ### getSupportedIncrementerTypes

    public String[] getSupportedIncrementerTypes()
    Description copied from interface: `DataFieldMaxValueIncrementerFactory`
    Returns the list of supported database incrementer types
    Specified by:
      `getSupportedIncrementerTypes` in interface `DataFieldMaxValueIncrementerFactory`
    Returns:
      an array of `String`s containing the supported incrementer types.