Top Description Methods
org.hibernate.id.enhanced

public Interface Optimizer

Known Direct Implementers
org.hibernate.id.enhanced.AbstractOptimizer
Imports
java.io.Serializable, org.hibernate.id.IntegralDataTypeHolder

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

Method Summary

Modifier and TypeMethod and Description
public boolean

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.
applyIncrementSizeToSourceValues
()

Are increments to be applied to the values stored in the underlying value source?

public Serializable

Returns:

The generated identifier value.
generate
(AccessCallback
Callback to access the underlying value source.
callback
)

Generate an identifier value accounting for this specific optimization.

public int

Returns:

The increment size.
getIncrementSize
()

Retrieves the defined increment size.

public IntegralDataTypeHolder

Returns:

The last value we obtained from the underlying source; null indicates we have not yet consulted with the source.
getLastSourceValue
()

A common means to access the last value obtained from the underlying source.

Method Detail

applyIncrementSizeToSourceValuesback to summary
public boolean applyIncrementSizeToSourceValues()

Are increments to be applied to the values stored in the underlying value source?

Returns:boolean

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.

generateback to summary
public Serializable generate(AccessCallback callback)

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:AccessCallback

Callback to access the underlying value source.

Returns:Serializable

The generated identifier value.

getIncrementSizeback to summary
public int getIncrementSize()

Retrieves the defined increment size.

Returns:int

The increment size.

getLastSourceValueback to summary
public IntegralDataTypeHolder getLastSourceValue()

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:IntegralDataTypeHolder

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