Class LegacyHiLoAlgorithmOptimizer

  • All Implemented Interfaces:
    Optimizer

    public class LegacyHiLoAlgorithmOptimizer
    extends AbstractOptimizer
    Slight variation from HiLoOptimizer, maintaining compatibility with the values generated by the legacy Hibernate hilo based generators.
    • Constructor Detail

      • LegacyHiLoAlgorithmOptimizer

        public LegacyHiLoAlgorithmOptimizer​(Class<?> returnClass,
                                            int incrementSize)
        Constructs a LegacyHiLoAlgorithmOptimizer
        Parameters:
        returnClass - The Java type of the values to be generated
        incrementSize - 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'.