FileDocCategorySizeDatePackage
Optimizer.javaAPI DocHibernate 3.2.51770Thu Mar 15 04:33:16 GMT 2007org.hibernate.id.enhanced

Optimizer

public interface Optimizer
Performs optimization on an optimizable identifier generator. Typically this optimization takes the form of trying to ensure we do not have to hit the database on each and every request to get an identifier value.

Optimizers work on constructor injection. They should provide a constructor with the following arguments

  1. java.lang.Class - The return type for the generated values
  2. int - The increment size
author
Steve Ebersole

Fields Summary
Constructors Summary
Methods Summary
public booleanapplyIncrementSizeToSourceValues()
Are increments to be applied to the values stored in the underlying value source?

return
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.

public java.io.Serializablegenerate(AccessCallback callback)
Generate an identifier value accounting for this specific optimization.

param
callback Callback to access the underlying value source.
return
The generated identifier value.

public intgetIncrementSize()
Retrieves the defined increment size.

return
The increment size.

public longgetLastSourceValue()
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.

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