org.hibernate.id.enhanced
Class OptimizerFactory.HiLoOptimizer

java.lang.Object
  extended by org.hibernate.id.enhanced.OptimizerFactory.OptimizerSupport
      extended by org.hibernate.id.enhanced.OptimizerFactory.HiLoOptimizer
All Implemented Interfaces:
Optimizer
Enclosing class:
OptimizerFactory

public static class OptimizerFactory.HiLoOptimizer
extends OptimizerFactory.OptimizerSupport

Optimizer which applies a 'hilo' algorithm in memory to achieve optimization.


Field Summary
 
Fields inherited from class org.hibernate.id.enhanced.OptimizerFactory.OptimizerSupport
incrementSize, returnClass
 
Constructor Summary
OptimizerFactory.HiLoOptimizer(Class returnClass, int incrementSize)
           
 
Method Summary
 boolean applyIncrementSizeToSourceValues()
          Are increments to be applied to the values stored in the underlying value source?
 Serializable generate(AccessCallback callback)
          Generate an identifier value accounting for this specific optimization.
 long getHiValue()
          Getter for property 'hiValue'.
 long getLastSourceValue()
          A common means to access the last value obtained from the underlying source.
 long getLastValue()
          Getter for property 'lastValue'.
 
Methods inherited from class org.hibernate.id.enhanced.OptimizerFactory.OptimizerSupport
getIncrementSize, getReturnClass, make
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OptimizerFactory.HiLoOptimizer

public OptimizerFactory.HiLoOptimizer(Class returnClass,
                                      int incrementSize)
Method Detail

generate

public Serializable generate(AccessCallback callback)
Generate an identifier value accounting for this specific optimization.

Parameters:
callback - Callback to access the underlying value source.
Returns:
The generated identifier value.

getLastSourceValue

public long getLastSourceValue()
A common means to access the last value obtained from the underlying source. This is intended for testing purposes, since accessing the unerlying database source directly is much more difficult.

Returns:
The last value we obtained from the underlying source; -1 indicates we have not yet consulted with the source.

applyIncrementSizeToSourceValues

public boolean applyIncrementSizeToSourceValues()
Are increments to be applied to the values stored in the underlying value source?

Returns:
True if the values in the source are to be incremented according to the defined increment size; false otherwise, in which case the increment is totally an in memory construct.

getLastValue

public long getLastValue()
Getter for property 'lastValue'.

Returns:
Value for property 'lastValue'.

getHiValue

public long getHiValue()
Getter for property 'hiValue'.

Returns:
Value for property 'hiValue'.


Copyright © null-null Red Hat Middleware, LLC. All Rights Reserved