Interface ValueGenerator<T>
- Type Parameters:
T
- Type of the generated value (Long, String etc)
- All Known Implementing Classes:
AbstractConnectedGenerator
,AbstractGenerator
,AbstractUUIDGenerator
,AUIDGenerator
,TimestampGenerator
,TimestampValueGenerator
,UUIDGenerator
,UUIDHexGenerator
,UUIDObjectGenerator
,UUIDStringGenerator
public interface ValueGenerator<T>
Generator interface for values.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Catalog that the value is for.static final String
Class that the value is for.static final String
Column that the value is for (i.e which column will have the value applied to it, so we can check for MAX(col)).static final String
Field that the value is for.static final String
static final String
static final String
static final String
static final String
static final String
Class that the value is for.static final String
Schema that the value is for.static final String
Name of any sequence to be used (when using JPA/JDO "sequence" strategy).static final String
static final String
static final String
static final String
static final String
Name of a table to use when using values stored in a table - JPA "table"/JDO "increment" strategy.static final String
Table that the value is for (see also column-name). -
Method Summary
Modifier and TypeMethodDescriptionvoid
allocate
(int additional) Provides a hint to the implementation that the application will needadditional
sequence value objects in short order.current()
Returns the current sequence value object if it is available.long
Returns the current sequence value as a long.next()
Returns the next sequence value as an Object.long
Returns the next sequence value as a long.
-
Field Details
-
PROPERTY_SEQUENCE_NAME
Name of any sequence to be used (when using JPA/JDO "sequence" strategy).- See Also:
-
PROPERTY_SEQUENCETABLE_TABLE
Name of a table to use when using values stored in a table - JPA "table"/JDO "increment" strategy.- See Also:
-
PROPERTY_SEQUENCETABLE_CATALOG
- See Also:
-
PROPERTY_SEQUENCETABLE_SCHEMA
- See Also:
-
PROPERTY_SEQUENCETABLE_NAME_COLUMN
- See Also:
-
PROPERTY_SEQUENCETABLE_NEXTVAL_COLUMN
- See Also:
-
PROPERTY_KEY_INITIAL_VALUE
- See Also:
-
PROPERTY_KEY_CACHE_SIZE
- See Also:
-
PROPERTY_KEY_MIN_VALUE
- See Also:
-
PROPERTY_KEY_MAX_VALUE
- See Also:
-
PROPERTY_KEY_DATABASE_CACHE_SIZE
- See Also:
-
PROPERTY_CATALOG_NAME
Catalog that the value is for.- See Also:
-
PROPERTY_SCHEMA_NAME
Schema that the value is for.- See Also:
-
PROPERTY_CLASS_NAME
Class that the value is for.- See Also:
-
PROPERTY_ROOT_CLASS_NAME
Class that the value is for.- See Also:
-
PROPERTY_FIELD_NAME
Field that the value is for.- See Also:
-
PROPERTY_TABLE_NAME
Table that the value is for (see also column-name).- See Also:
-
PROPERTY_COLUMN_NAME
Column that the value is for (i.e which column will have the value applied to it, so we can check for MAX(col)).- See Also:
-
-
Method Details
-
next
T next()Returns the next sequence value as an Object. If the next sequence value is not available, throw NucleusDataStoreException.- Returns:
- the next value
-
allocate
void allocate(int additional) Provides a hint to the implementation that the application will needadditional
sequence value objects in short order. There is no externally visible behavior of this method. It is used to potentially improve the efficiency of the algorithm of obtaining additional sequence value objects.- Parameters:
additional
- the number of additional values to allocate
-
current
T current()Returns the current sequence value object if it is available. It is intended to return a sequence value object previously used. If the current sequence value is not available, throw NucleusDataStoreException.- Returns:
- the current value
-
nextValue
long nextValue()Returns the next sequence value as a long. If the next sequence value is not available or is not numeric, throw NucleusDataStoreException.- Returns:
- the next value
-
currentValue
long currentValue()Returns the current sequence value as a long. If the current sequence value is not available or is not numeric, throw NucleusDataStoreException.- Returns:
- the current value
-