Package org.hibernate.id.enhanced
Class LegacyHiLoAlgorithmOptimizer
- java.lang.Object
-
- org.hibernate.id.enhanced.AbstractOptimizer
-
- org.hibernate.id.enhanced.LegacyHiLoAlgorithmOptimizer
-
- All Implemented Interfaces:
Optimizer
public class LegacyHiLoAlgorithmOptimizer extends AbstractOptimizer
Slight variation fromHiLoOptimizer
, maintaining compatibility with the values generated by the legacy Hibernate hilo based generators.
-
-
Field Summary
-
Fields inherited from class org.hibernate.id.enhanced.AbstractOptimizer
incrementSize, returnClass
-
-
Constructor Summary
Constructors Constructor Description LegacyHiLoAlgorithmOptimizer(Class<?> returnClass, int incrementSize)
Constructs aLegacyHiLoAlgorithmOptimizer
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
getLastSourceValue()
A common means to access the last value obtained from the underlying source.IntegralDataTypeHolder
getLastValue()
Getter for property 'lastValue'.-
Methods inherited from class org.hibernate.id.enhanced.AbstractOptimizer
getIncrementSize, getReturnClass
-
-
-
-
Constructor Detail
-
LegacyHiLoAlgorithmOptimizer
public LegacyHiLoAlgorithmOptimizer(Class<?> returnClass, int incrementSize)
Constructs aLegacyHiLoAlgorithmOptimizer
- Parameters:
returnClass
- The Java type of the values to be generatedincrementSize
- The increment size.
-
-
Method Detail
-
generate
public Serializable generate(AccessCallback callback)
Description copied from interface:Optimizer
Generate an identifier value accounting for this specific optimization. All known implementors are synchronized. Consider carefully if a new implementation could drop this requirement.- Parameters:
callback
- Callback to access the underlying value source.- Returns:
- The generated identifier value.
-
getLastSourceValue
public IntegralDataTypeHolder getLastSourceValue()
Description copied from interface:Optimizer
A common means to access the last value obtained from the underlying source. This is intended for testing purposes, since accessing the underlying database source directly is much more difficult.- Returns:
- The last value we obtained from the underlying source; null indicates we have not yet consulted with the source.
-
applyIncrementSizeToSourceValues
public boolean applyIncrementSizeToSourceValues()
Description copied from interface:Optimizer
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 IntegralDataTypeHolder getLastValue()
Getter for property 'lastValue'.Exposure intended for testing purposes.
- Returns:
- Value for property 'lastValue'.
-
-