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 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
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
UUIDKeyGeneratorFactory
public UUIDKeyGeneratorFactory()
getKeyGeneratorName
public 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,
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 © 2010. All Rights Reserved.