Class 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 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.