Class HighLowKeyGenerator

java.lang.Object
net.ontopia.persistence.proxy.HighLowKeyGenerator
All Implemented Interfaces:
KeyGeneratorIF

public final class HighLowKeyGenerator extends Object implements KeyGeneratorIF
INTERNAL: A key generator using the HIGH/LOW key generator algorithm. It maintains the current counters in a counter table. The key generator is able to preallocate a number of identities which it hand out without having to go the database for every new identity needed. It is used by the RDBMS proxy implementation.
  • Field Details

    • connfactory

      protected ConnectionFactoryIF connfactory
    • table

      protected String table
    • keycol

      protected String keycol
    • valcol

      protected String valcol
    • grabsize

      protected int grabsize
    • global_entry

      protected String global_entry
    • database

      protected String database
    • properties

      protected Map<String,String> properties
    • value

      protected long value
    • max_value

      protected long max_value
  • Constructor Details

  • Method Details

    • generateKey

      public IdentityIF generateKey(Class<?> type)
      Description copied from interface: KeyGeneratorIF
      INTERNAL: Generates a new object identity of the specified object type.
      Specified by:
      generateKey in interface KeyGeneratorIF
    • incrementInDatabase

      protected long incrementInDatabase(Object type)
      INTERNAL: Sends a request to the database to retrieve the current counter value. The counter value row is then locked, the counter incremented and the new value stored.