org.castor.ddlgen.keygenerator
Class HighLowKeyGenerator

java.lang.Object
  extended by org.castor.ddlgen.schemaobject.AbstractSchemaObject
      extended by org.castor.ddlgen.schemaobject.KeyGenerator
          extended by org.castor.ddlgen.keygenerator.HighLowKeyGenerator
All Implemented Interfaces:
SchemaObject

public final class HighLowKeyGenerator
extends KeyGenerator

HIGH-LOW key generator will be handled by Castor so no DDL needs to be created. It only requires a table to lookup the next values to be used.

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

Field Summary
static java.lang.String ALGORITHM_NAME
          Name of key generator algorithm.
 
Fields inherited from class org.castor.ddlgen.schemaobject.AbstractSchemaObject
HASHFACTOR
 
Constructor Summary
HighLowKeyGenerator(org.exolab.castor.mapping.xml.KeyGeneratorDef definition)
          Constructor for HIGH-LOW key generator specified by given defintion.
 
Method Summary
 int getGrabSize()
          Get number of new keys the key generator should grab from the sequence table at a time.
 java.lang.String getKeyColumn()
          Get name of the column which contains table names.
 java.lang.String getTableName()
          Get name of the special sequence table.
 java.lang.String getValueColumn()
          Get name of the column which is used to reserve primary key values.
 boolean isGlobal()
          Shell globally unique keys be generated?
 boolean isSameConnection()
          Shell the same Connection be used for writing to the sequence table?
 void toCreateDDL(DDLWriter writer)
          Build create script for the schema object.
 void toDropDDL(DDLWriter writer)
          Build drop script for the schema object.
 
Methods inherited from class org.castor.ddlgen.schemaobject.KeyGenerator
equals, getAlias, getTable, hashCode, merge, setAlias, setTable
 
Methods inherited from class org.castor.ddlgen.schemaobject.AbstractSchemaObject
equals, getConfiguration, getName, setConfiguration, setName
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALGORITHM_NAME

public static final java.lang.String ALGORITHM_NAME
Name of key generator algorithm.

See Also:
Constant Field Values
Constructor Detail

HighLowKeyGenerator

public HighLowKeyGenerator(org.exolab.castor.mapping.xml.KeyGeneratorDef definition)
                    throws GeneratorException
Constructor for HIGH-LOW key generator specified by given defintion.

Parameters:
definition - Key generator definition.
Throws:
GeneratorException - If grab size parameter can't be parsed as integer.
Method Detail

getTableName

public java.lang.String getTableName()
Get name of the special sequence table.

Returns:
Name of the special sequence table.

getKeyColumn

public java.lang.String getKeyColumn()
Get name of the column which contains table names.

Returns:
Name of the column which contains table names.

getValueColumn

public java.lang.String getValueColumn()
Get name of the column which is used to reserve primary key values.

Returns:
Name of the column which is used to reserve primary key values.

getGrabSize

public int getGrabSize()
Get number of new keys the key generator should grab from the sequence table at a time.

Returns:
Number of new keys the key generator should grab from the sequence table at a time.

isSameConnection

public boolean isSameConnection()
Shell the same Connection be used for writing to the sequence table?

Returns:
If true it uses the same connection t write to the sequence table.

isGlobal

public boolean isGlobal()
Shell globally unique keys be generated?

Returns:
If true globally unique keys are generated.

toCreateDDL

public void toCreateDDL(DDLWriter writer)
Build create script for the schema object.

Parameters:
writer - DDLWriter to write schema objects to.

toDropDDL

public void toDropDDL(DDLWriter writer)
Build drop script for the schema object.

Parameters:
writer - DDLWriter to write schema objects to.


Copyright © 2011. All Rights Reserved.