public abstract class AbstractGenerator<T> extends Object implements ValueGenerator<T>
| Modifier and Type | Field and Description |
|---|---|
protected int |
allocationSize
Allocation size
|
protected ValueGenerationBlock<T> |
block
The current block of values that have been reserved.
|
protected int |
initialValue
Initial value (of the first id).
|
protected String |
name
Symbolic name for the value generator.
|
protected StoreManager |
storeMgr |
PROPERTY_CATALOG_NAME, PROPERTY_CLASS_NAME, PROPERTY_COLUMN_NAME, PROPERTY_FIELD_NAME, PROPERTY_KEY_CACHE_SIZE, PROPERTY_KEY_DATABASE_CACHE_SIZE, PROPERTY_KEY_INITIAL_VALUE, PROPERTY_KEY_MAX_VALUE, PROPERTY_KEY_MIN_VALUE, PROPERTY_ROOT_CLASS_NAME, PROPERTY_SCHEMA_NAME, PROPERTY_SEQUENCE_NAME, PROPERTY_SEQUENCETABLE_CATALOG, PROPERTY_SEQUENCETABLE_NAME_COLUMN, PROPERTY_SEQUENCETABLE_NEXTVAL_COLUMN, PROPERTY_SEQUENCETABLE_SCHEMA, PROPERTY_SEQUENCETABLE_TABLE, PROPERTY_TABLE_NAME| Constructor and Description |
|---|
AbstractGenerator(StoreManager storeMgr,
String name)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
allocate(int additional)
Method to allocate a number of values into the block.
|
T |
current()
Accessor for the current value allocated.
|
long |
currentValue()
Accessor for the current element as a long.
|
String |
getName()
Accessor for the symbolic name for this generator.
|
T |
next()
Get next value from the reserved block of values.
|
long |
nextValue()
Accessor for the next element as a long.
|
protected ValueGenerationBlock<T> |
obtainGenerationBlock()
Get a new block with the default number of ids.
|
protected ValueGenerationBlock<T> |
obtainGenerationBlock(int number)
Get a new block with the specified number of ids.
|
protected ValueGenerationBlock<T> |
reserveBlock()
Method to reserve a default sized block of values.
|
protected abstract ValueGenerationBlock<T> |
reserveBlock(long size)
Method to reserve a block of "size" values.
|
protected StoreManager storeMgr
protected String name
protected int allocationSize
protected int initialValue
protected ValueGenerationBlock<T> block
public AbstractGenerator(StoreManager storeMgr, String name)
storeMgr - Store Managername - Symbolic name for this generatorpublic String getName()
public T next()
next in interface ValueGenerator<T>public T current()
current in interface ValueGenerator<T>public long nextValue()
nextValue in interface ValueGenerator<T>NucleusDataStoreException - Thrown if not numericpublic long currentValue()
currentValue in interface ValueGenerator<T>NucleusDataStoreException - Thrown if not numericpublic void allocate(int additional)
allocate in interface ValueGenerator<T>additional - The number to allocateprotected ValueGenerationBlock<T> obtainGenerationBlock()
protected ValueGenerationBlock<T> obtainGenerationBlock(int number)
number - The number of additional ids requiredprotected ValueGenerationBlock<T> reserveBlock()
protected abstract ValueGenerationBlock<T> reserveBlock(long size)
size - Number of values to reserveCopyright © 2020. All rights reserved.