org.castor.cpa.persistence.sql.keygen
Class UUIDKeyGeneratorFactory
java.lang.Object
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: 7715 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
- Author:
- Thomas Fach, Ralf Joachim
- See Also:
UUIDKeyGenerator
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
UUIDKeyGeneratorFactory
public UUIDKeyGeneratorFactory()
getName
public java.lang.String getName()
- 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:
getName
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.
Copyright © 2011. All Rights Reserved.