public class HiLoOptimizer extends AbstractOptimizer
incrementSize
serves this purpose. The
naming here is meant more for consistency in that this value serves the
same purpose as the increment supplied to the PooledOptimizer
.
The general algorithms used to determine the bucket are:upperLimit = (databaseValue * incrementSize) + 1
lowerLimit = upperLimit - incrementSize
upperLimit = (1 * 20) + 1 = 21
lowerLimit = 21 - 20 = 1
upperLimit = (2 * 20) + 1 = 41
lowerLimit = 41 - 20 = 21
incrementSize, returnClass
Constructor and Description |
---|
HiLoOptimizer(Class returnClass,
int incrementSize)
Constructs a HiLoOptimizer
|
Modifier and Type | Method and Description |
---|---|
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.
|
IntegralDataTypeHolder |
getHiValue()
Getter for property 'upperLimit'.
|
IntegralDataTypeHolder |
getLastSourceValue()
A common means to access the last value obtained from the underlying
source.
|
IntegralDataTypeHolder |
getLastValue()
Getter for property 'lastValue'.
|
getIncrementSize, getReturnClass
public HiLoOptimizer(Class returnClass, int incrementSize)
returnClass
- The Java type of the values to be generatedincrementSize
- The increment size.public Serializable generate(AccessCallback callback)
Optimizer
callback
- Callback to access the underlying value source.public IntegralDataTypeHolder getLastSourceValue()
Optimizer
public boolean applyIncrementSizeToSourceValues()
Optimizer
public IntegralDataTypeHolder getLastValue()
public IntegralDataTypeHolder getHiValue()
Copyright © 2017 JBoss by Red Hat. All rights reserved.