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 StringCatalog that the value is for.static final StringClass that the value is for.static final StringColumn 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 StringField that the value is for.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringClass that the value is for.static final StringSchema that the value is for.static final StringName of any sequence to be used (when using JPA/JDO "sequence" strategy).static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringName of a table to use when using values stored in a table - JPA "table"/JDO "increment" strategy.static final StringTable that the value is for (see also column-name). -
Method Summary
Modifier and TypeMethodDescriptionvoidallocate(int additional) Provides a hint to the implementation that the application will needadditionalsequence value objects in short order.current()Returns the current sequence value object if it is available.longReturns the current sequence value as a long.next()Returns the next sequence value as an Object.longReturns 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
-
PROPERTY_SCHEMA_NAME
-
PROPERTY_CLASS_NAME
-
PROPERTY_ROOT_CLASS_NAME
-
PROPERTY_FIELD_NAME
-
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 needadditionalsequence 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
-