Class AbstractUUIDGenerator
- java.lang.Object
-
- org.datanucleus.store.valuegenerator.AbstractGenerator<java.lang.String>
-
- org.datanucleus.store.valuegenerator.AbstractUUIDGenerator
-
- All Implemented Interfaces:
ValueGenerator<java.lang.String>
- Direct Known Subclasses:
UUIDHexGenerator,UUIDStringGenerator
public abstract class AbstractUUIDGenerator extends AbstractGenerator<java.lang.String>
Value generator for a UUID format. To be extended by implementations giving the UUID in particular forms.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static shortcounter(package private) static intIP_ADDRESSIP Address of local machine.(package private) static intJVM_UNIQUEUnique value across JVMs on this machine.-
Fields inherited from class org.datanucleus.store.valuegenerator.AbstractGenerator
allocationSize, block, initialValue, name, storeMgr
-
Fields inherited from interface org.datanucleus.store.valuegenerator.ValueGenerator
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 Summary
Constructors Constructor Description AbstractUUIDGenerator(StoreManager storeMgr, java.lang.String name)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected shortgetCount()Simple counter for identities.protected abstract java.lang.StringgetIdentifier()Create an identifier in the required UUID format required.private static intgetIntFromByteArray(byte[] bytes)Utility to convert a byte array to an int.static java.lang.ClassgetStorageClass()Accessor for the storage class for values generated with this generator.protected ValueGenerationBlock<java.lang.String>reserveBlock(long size)Method to reserve "size" values to the block.-
Methods inherited from class org.datanucleus.store.valuegenerator.AbstractGenerator
allocate, current, currentValue, getName, next, nextValue, obtainGenerationBlock, obtainGenerationBlock, reserveBlock
-
-
-
-
Constructor Detail
-
AbstractUUIDGenerator
public AbstractUUIDGenerator(StoreManager storeMgr, java.lang.String name)
Constructor.- Parameters:
storeMgr- StoreManagername- Symbolic name for this generator
-
-
Method Detail
-
getStorageClass
public static java.lang.Class getStorageClass()
Accessor for the storage class for values generated with this generator.- Returns:
- Storage class (in this case String.class)
-
reserveBlock
protected ValueGenerationBlock<java.lang.String> reserveBlock(long size)
Method to reserve "size" values to the block.- Specified by:
reserveBlockin classAbstractGenerator<java.lang.String>- Parameters:
size- The block size- Returns:
- The reserved block
-
getIdentifier
protected abstract java.lang.String getIdentifier()
Create an identifier in the required UUID format required.- Returns:
- The identifier
-
getCount
protected short getCount()
Simple counter for identities.- Returns:
- The next count value
-
getIntFromByteArray
private static int getIntFromByteArray(byte[] bytes)
Utility to convert a byte array to an int.- Parameters:
bytes- The byte array- Returns:
- The int
-
-