org.apache.ojb.broker.util.sequence
Class SequenceManagerMSSQLGuidImpl

java.lang.Object
  extended byorg.apache.ojb.broker.util.sequence.AbstractSequenceManager
      extended byorg.apache.ojb.broker.util.sequence.SequenceManagerMSSQLGuidImpl
All Implemented Interfaces:
SequenceManager

public class SequenceManagerMSSQLGuidImpl
extends AbstractSequenceManager

An Implementation Class that will retrieve a valid new value for a PK field that is of type 'uniqueidentifier'. Since values for these types are generated through a 'newid()' call to MSSQL Server, this class is only valid for MSSQL Server 7.0 and up.
This SequenceManager can be used for any classes that have their PK defined as a 'uniqueidetifier'

Version:
$Id: SequenceManagerMSSQLGuidImpl.java,v 1.2 2004/02/12 16:09:01 arminw Exp $
Author:
Andrew Clute

Field Summary
 
Fields inherited from class org.apache.ojb.broker.util.sequence.AbstractSequenceManager
PROPERTY_AUTO_NAMING
 
Constructor Summary
SequenceManagerMSSQLGuidImpl(PersistenceBroker broker)
          Constructor used by SequenceManagerFactory
 
Method Summary
protected  int getUniqueId(FieldDescriptor field)
          Returns a new unique int for the given Class and fieldname.
protected  long getUniqueLong(FieldDescriptor field)
          Returns a new unique int for the given Class and fieldname.
protected  java.lang.String getUniqueString(FieldDescriptor field)
          returns a unique String for given field.
 java.lang.Object getUniqueValue(FieldDescriptor field)
          Returns a unique object for the given field attribute.
 
Methods inherited from class org.apache.ojb.broker.util.sequence.AbstractSequenceManager
afterStore, calculateSequenceName, getBrokerForClass, getConfigurationProperties, getConfigurationProperty, getPlatform, setConfigurationProperties, setConfigurationProperty, setReferenceFKs, useAutoNaming
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SequenceManagerMSSQLGuidImpl

public SequenceManagerMSSQLGuidImpl(PersistenceBroker broker)
Constructor used by SequenceManagerFactory

Parameters:
broker - PB instance to perform the id generation.
Method Detail

getUniqueValue

public java.lang.Object getUniqueValue(FieldDescriptor field)
                                throws SequenceManagerException
Description copied from class: AbstractSequenceManager
Returns a unique object for the given field attribute. The returned value takes in account the jdbc-type and the FieldConversion.sql2java() conversion defined for field. The returned object is unique accross all tables in the extent of class the field belongs to.

Specified by:
getUniqueValue in interface SequenceManager
Overrides:
getUniqueValue in class AbstractSequenceManager
Throws:
SequenceManagerException

getUniqueString

protected java.lang.String getUniqueString(FieldDescriptor field)
                                    throws SequenceManagerException
returns a unique String for given field. the returned uid is unique accross all tables.

Throws:
SequenceManagerException

getUniqueId

protected int getUniqueId(FieldDescriptor field)
                   throws SequenceManagerException
Returns a new unique int for the given Class and fieldname.

Throws:
SequenceManagerException

getUniqueLong

protected long getUniqueLong(FieldDescriptor field)
                      throws SequenceManagerException
Returns a new unique int for the given Class and fieldname.

Specified by:
getUniqueLong in class AbstractSequenceManager
Throws:
SequenceManagerException


Authors: Thomas Mahler and others. (C) 2000 - 2003 Apache Software Foundation
All rights reserved. Published under the Apache License.
http://db.apache.org/ojb
Version: 1.0.rc5, 2003-12-14