org.castor.ddlgen.keygenerator
Class SequenceKeyGeneratorFactory

java.lang.Object
  extended by org.castor.ddlgen.keygenerator.SequenceKeyGeneratorFactory
All Implemented Interfaces:
KeyGeneratorFactory
Direct Known Subclasses:
Db2SequenceKeyGeneratorFactory, HsqlSequenceKeyGeneratorFactory, OracleSequenceKeyGeneratorFactory, PostgresqlSequenceKeyGeneratorFactory, SapdbSequenceKeyGeneratorFactory

public abstract class SequenceKeyGeneratorFactory
extends java.lang.Object
implements KeyGeneratorFactory

Abstract base class for SEQUENCE key generator factories.

Since:
1.1
Version:
$Revision: 5951 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
Author:
Le Duc Bao, Ralf Joachim

Constructor Summary
SequenceKeyGeneratorFactory()
           
 
Method Summary
 KeyGenerator createKeyGenerator()
          Create a default key generator instance with the algorithm the factory is responsible for.
 KeyGenerator createKeyGenerator(org.exolab.castor.mapping.xml.KeyGeneratorDef definition)
          Create a key generator instance from the given definition with the algorithm the factory is responsible for.
 java.lang.String getAlgorithmName()
          Get name of key generator algorithm.
 boolean hasMandatoryParameters()
          Does the algorithm has mandatory parameters and therefore requires a key generator definition in mapping file?
abstract  void toCreateDDL(KeyGenerator key, DDLWriter writer)
          Generate create script for given SEQUENCE key generator.
abstract  void toDropDDL(KeyGenerator key, DDLWriter writer)
          Generate drop script for given SEQUENCE key generator.
protected  java.lang.String toPrimaryKeyList(Table table)
          Build a string containing names of all primary key columns separated by '_'.
protected  java.lang.String toPrimaryKeyTypeList(Table table)
          Build a string containing types of all primary key columns separated by '_'.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SequenceKeyGeneratorFactory

public SequenceKeyGeneratorFactory()
Method Detail

getAlgorithmName

public final java.lang.String getAlgorithmName()
Get name of key generator algorithm.

Specified by:
getAlgorithmName in interface KeyGeneratorFactory
Returns:
Name of key generator algorithm.

hasMandatoryParameters

public final boolean hasMandatoryParameters()
Does the algorithm has mandatory parameters and therefore requires a key generator definition in mapping file?

Specified by:
hasMandatoryParameters in interface KeyGeneratorFactory
Returns:
true if algorithm has mandatory parameters and therefore requires a key generator definition in mapping file. false if algorithm does not require parameters or has only optional parameters.

createKeyGenerator

public final KeyGenerator createKeyGenerator()
                                      throws GeneratorException
Create a default key generator instance with the algorithm the factory is responsible for. This is only possible for those algorithms that do not require mandatory parameters.

Specified by:
createKeyGenerator in interface KeyGeneratorFactory
Returns:
A default key generator instance with the algorithm the factory is responsible for.
Throws:
GeneratorException - If creation of default key generator is not possible due to required mandatory parameters.

createKeyGenerator

public final KeyGenerator createKeyGenerator(org.exolab.castor.mapping.xml.KeyGeneratorDef definition)
                                      throws GeneratorException
Create a key generator instance from the given definition with the algorithm the factory is responsible for.

Specified by:
createKeyGenerator in interface KeyGeneratorFactory
Parameters:
definition - The definition to initialize the key generator.
Returns:
A key generator instance initialized with given definition with the algorithm the factory is responsible for.
Throws:
GeneratorException - If failed to create a key generator instance.

toCreateDDL

public abstract void toCreateDDL(KeyGenerator key,
                                 DDLWriter writer)
Generate create script for given SEQUENCE key generator.

Parameters:
key - SEQUENCE key generator to generate DDL for.
writer - DDLWriter to write schema objects to.

toDropDDL

public abstract void toDropDDL(KeyGenerator key,
                               DDLWriter writer)
Generate drop script for given SEQUENCE key generator.

Parameters:
key - SEQUENCE key generator to generate DDL for.
writer - DDLWriter to write schema objects to.

toPrimaryKeyList

protected final java.lang.String toPrimaryKeyList(Table table)
Build a string containing names of all primary key columns separated by '_'.

Parameters:
table - Table build primary key column names string for.
Returns:
String containing names of all primary key columns separated by '_'.

toPrimaryKeyTypeList

protected final java.lang.String toPrimaryKeyTypeList(Table table)
Build a string containing types of all primary key columns separated by '_'.

Parameters:
table - Table build primary key column types string for.
Returns:
String containing types of all primary key columns separated by '_'.


Copyright © 2011. All Rights Reserved.