org.castor.cpa.persistence.sql.keygen
Class UUIDKeyGeneratorFactory

java.lang.Object
  extended by org.castor.cpa.persistence.sql.keygen.UUIDKeyGeneratorFactory
All Implemented Interfaces:
KeyGeneratorFactory

public final class UUIDKeyGeneratorFactory
extends java.lang.Object
implements KeyGeneratorFactory

UUID key generator factory. The short name of this key generator is "UUID".
It uses the following alrorithm: The uuid is a combination of the IP address, the current time in milliseconds since 1970 and a static counter. The complete key consists of a 30 character fixed length string.
Brief statement: The IP only exists once during runtime of castor, the current time in milliseconds (updated every 55 mills) is in combination to the IP pretty unique. Considering a static counter will be used a database-wide unique key will be created.

Version:
$Revision: 8334 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Thomas Fach, Ralf Joachim
See Also:
UUIDKeyGenerator

Constructor Summary
UUIDKeyGeneratorFactory()
           
 
Method Summary
 KeyGenerator getKeyGenerator(PersistenceFactory factory, java.util.Properties params, int sqlType)
          Produce the key generator.
 java.lang.String getKeyGeneratorName()
          Get the short name of the key generator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UUIDKeyGeneratorFactory

public UUIDKeyGeneratorFactory()
Method Detail

getKeyGeneratorName

public java.lang.String getKeyGeneratorName()
Get the short name of the key generator. It is used to reference key generators in a mapping configuration file. If several key generators of the same type are used for the same database, then they are referenced by aliases.

Specified by:
getKeyGeneratorName in interface KeyGeneratorFactory
Returns:
Name of the KeyGenerator used to identify key generator (types).

getKeyGenerator

public KeyGenerator getKeyGenerator(PersistenceFactory factory,
                                    java.util.Properties params,
                                    int sqlType)
                             throws MappingException
Produce the key generator.

Specified by:
getKeyGenerator in interface KeyGeneratorFactory
Parameters:
factory - Helper object for obtaining database-specific QuerySyntax.
params - Parameters for key generator.
sqlType - The SQL type of the primary key, the generated identities must have the corresponding Java type, e.g. java.sql.Types.INTEGER corresponds to java.lang.Integer, java.sql.Types.NUMERIC corresponds to java.lang.BigDecimal.
Returns:
A KeyGenerator instance.
Throws:
MappingException - If there's a problem resolving the mapping information.


Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com