Class ValueGenerationManagerImpl

java.lang.Object
org.datanucleus.store.valuegenerator.ValueGenerationManagerImpl
All Implemented Interfaces:
ValueGenerationManager

public class ValueGenerationManagerImpl extends Object implements ValueGenerationManager
Manager for the creation of ValueGenerators. ValueGenerators are of two primary types.
  • unique : apply to any datastore, and generate unique values. For example, UUID, which generates the values in Java space.
  • datastore : apply to a particular datastore, and member. For example, an RDBMS SEQUENCE.
Any unique generators are loaded at initialisation. Any datastore generators are loaded when required. All generators are cached once created, and can be looked up by the member "key" that they are for.

Member Key

The member "key" is either the fully-qualified member name (e.g "mydomain.MyClass.myField") that is having its values generated, or is for a (surrogate) datastore id member (e.g "mydomain.MyClass (datastore-id)"). All unique generators can also be looked up by the strategy name (since there is one instance of that generator per strategy.