Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.jdbc.support.incrementer
Class HsqlMaxValueIncrementer

    java.lang.Object
      org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
          org.springframework.jdbc.support.incrementer.HsqlMaxValueIncrementer

All Implemented Interfaces:
  InitializingBean, DataFieldMaxValueIncrementer

    public class HsqlMaxValueIncrementer

extends AbstractDataFieldMaxValueIncrementer

Class to increment maximum value of a given HSQL table with the equivalent of an auto-increment column. Note: If you use this class, your HSQL key column should NOT be auto-increment, as the sequence table does the job.

The sequence is kept in a table. There should be one sequence table per table that needs an auto-generated key.

Example:

    create table tab (id int not null primary key, text varchar(100));
     create table tab_sequence (value identity);
     insert into tab_sequence values(0);

If cacheSize is set, the intermediate values are served without querying the database. If the server or your application is stopped or crashes or a transaction is rolled back, the unused values will never be served. The maximum hole size in numbering is consequently the value of cacheSize.

Author:
  Jean-Pierre Pawlak, Thomas Risberg, Juergen Hoeller

Field Summary

Fields inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
`paddingLength`

Constructor Summary
`HsqlMaxValueIncrementer()` Default constructor.
`HsqlMaxValueIncrementer(DataSource ds, String incrementerName, String columnName)` Convenience constructor.

Method Summary
`void` | `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
`int` | `getCacheSize()` Return the number of buffered keys.
`String` | `getColumnName()` Return the name of the column in the sequence table.
`protected long` | `getNextKey()` Determine the next key to use, as a long.
`void` | `setCacheSize(int cacheSize)` Set the number of buffered keys.
`void` | `setColumnName(String columnName)` Set the name of the column in the sequence table.

Methods inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
`getDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLength`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HsqlMaxValueIncrementer

    public HsqlMaxValueIncrementer()

  Default constructor.

### HsqlMaxValueIncrementer

    public HsqlMaxValueIncrementer(DataSource ds,
                                   String incrementerName,
                                   String columnName)

  Convenience constructor.

  Parameters:
    `ds` - the DataSource to use
    `incrementerName` - the name of the sequence/table to use
    `columnName` - the name of the column in the sequence table to use

Method Detail

### setColumnName

    public void setColumnName(String columnName)

  Set the name of the column in the sequence table.

### getColumnName

    public String getColumnName()

  Return the name of the column in the sequence table.

### setCacheSize

    public void setCacheSize(int cacheSize)

  Set the number of buffered keys.

### getCacheSize

    public int getCacheSize()

  Return the number of buffered keys.

### afterPropertiesSet

    public void afterPropertiesSet()

  Description copied from interface: `InitializingBean`
  Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

  This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

  Specified by:
    `afterPropertiesSet` in interface `InitializingBean`
  Overrides:
    `afterPropertiesSet` in class `AbstractDataFieldMaxValueIncrementer`

### getNextKey

    protected long getNextKey()
                       throws DataAccessException

  Description copied from class: `AbstractDataFieldMaxValueIncrementer`
  Determine the next key to use, as a long.

  Specified by:
    `getNextKey` in class `AbstractDataFieldMaxValueIncrementer`
  Returns:
    the key to use as a long. It will eventually be converted later in another format by the public concrete methods of this class.
  Throws:
    `DataAccessException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2007 The Spring Framework.