org.apache.derby.impl.services.uuid
Class BasicUUIDFactory

java.lang.Object
  extended by org.apache.derby.impl.services.uuid.BasicUUIDFactory
All Implemented Interfaces:
UUIDFactory

public final class BasicUUIDFactory
extends java.lang.Object
implements UUIDFactory

A hack implementation of something similar to a DCE UUID generator. Generates unique 128-bit numbers based on the current machine's internet address, the current time, and a sequence number. This implementation should be made to conform to the DCE specification. ("DEC/HP, Network Computing Architecture, Remote Procedure Call Runtime Extensions Specification, version OSF TX1.0.11," Steven Miller, July 23, 1992. This is part of the OSF DCE Documentation. Chapter 10 describes the UUID generation algorithm.)

Some known deficiencies:

However, the intention is that UUIDs generated from this class will be unique with respect to UUIDs generated by other DCE UUID generators.


Field Summary
private  long currentValue
           
private static long INITIAL_VALUE
           
private  long majorId
           
private static long MODULUS
           
private static long MULTIPLIER
           
private static long STEP
           
private  long timemillis
           
 
Constructor Summary
BasicUUIDFactory()
           
 
Method Summary
private  void bumpMajor()
           
 UUID createUUID()
          Generate a new UUID.
 UUID recreateUUID(byte[] b)
          Recreate a UUID from a byte array produced by UUID.toByteArray.
 UUID recreateUUID(java.lang.String uuidstring)
          Recreate a UUID previously generated UUID value.
private  void resetCounters()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

majorId

private long majorId

timemillis

private long timemillis

MODULUS

private static final long MODULUS
See Also:
Constant Field Values

MULTIPLIER

private static final long MULTIPLIER
See Also:
Constant Field Values

STEP

private static final long STEP
See Also:
Constant Field Values

INITIAL_VALUE

private static final long INITIAL_VALUE
See Also:
Constant Field Values

currentValue

private long currentValue
Constructor Detail

BasicUUIDFactory

public BasicUUIDFactory()
Method Detail

createUUID

public UUID createUUID()
Generate a new UUID.

Specified by:
createUUID in interface UUIDFactory
Returns:
The UUID.
See Also:
UUIDFactory.createUUID()

recreateUUID

public UUID recreateUUID(java.lang.String uuidstring)
Recreate a UUID previously generated UUID value.

Specified by:
recreateUUID in interface UUIDFactory
Returns:
The UUID.
See Also:
UUIDFactory.recreateUUID(java.lang.String)

recreateUUID

public UUID recreateUUID(byte[] b)
Description copied from interface: UUIDFactory
Recreate a UUID from a byte array produced by UUID.toByteArray.

Specified by:
recreateUUID in interface UUIDFactory
Returns:
The UUID.
See Also:
UUIDFactory.recreateUUID(java.lang.String)

bumpMajor

private void bumpMajor()

resetCounters

private void resetCounters()

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.