Package org.castor.ddlgen.keygenerator
Class SequenceKeyGeneratorFactory
- java.lang.Object
-
- 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
Constructors Constructor Description SequenceKeyGeneratorFactory()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description KeyGeneratorcreateKeyGenerator()Create a default key generator instance with the algorithm the factory is responsible for.KeyGeneratorcreateKeyGenerator(KeyGeneratorDef definition)Create a key generator instance from the given definition with the algorithm the factory is responsible for.java.lang.StringgetAlgorithmName()Get name of key generator algorithm.booleanhasMandatoryParameters()Does the algorithm has mandatory parameters and therefore requires a key generator definition in mapping file?abstract voidtoCreateDDL(KeyGenerator key, DDLWriter writer)Generate create script for given SEQUENCE key generator.abstract voidtoDropDDL(KeyGenerator key, DDLWriter writer)Generate drop script for given SEQUENCE key generator.protected java.lang.StringtoPrimaryKeyList(Table table)Build a string containing names of all primary key columns separated by '_'.protected java.lang.StringtoPrimaryKeyTypeList(Table table)Build a string containing types of all primary key columns separated by '_'.
-
-
-
Method Detail
-
getAlgorithmName
public final java.lang.String getAlgorithmName()
Get name of key generator algorithm.- Specified by:
getAlgorithmNamein interfaceKeyGeneratorFactory- 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:
hasMandatoryParametersin interfaceKeyGeneratorFactory- Returns:
trueif algorithm has mandatory parameters and therefore requires a key generator definition in mapping file.falseif 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:
createKeyGeneratorin interfaceKeyGeneratorFactory- 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(KeyGeneratorDef definition) throws GeneratorException
Create a key generator instance from the given definition with the algorithm the factory is responsible for.- Specified by:
createKeyGeneratorin interfaceKeyGeneratorFactory- 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 '_'.
-
-