org.objectweb.speedo.naming.lib
Class RdbSequenceNamingManager

java.lang.Object
  extended byorg.objectweb.speedo.naming.lib.NamingManagerHelper
      extended byorg.objectweb.speedo.naming.lib.RdbSequenceNamingManager
All Implemented Interfaces:
NamingManager

public class RdbSequenceNamingManager
extends NamingManagerHelper
implements NamingManager

Author:
S.Chassande-Barrioz

Nested Class Summary
 
Nested classes inherited from class org.objectweb.speedo.naming.api.NamingManager
NamingManager.NamingField
 
Field Summary
static int SEQ_ALLOCATOR_IDX
           
static int SEQ_CACHE_IDX
           
static int SEQ_INCREMENT_IDX
           
static int SEQ_NAME_IDX
           
static int SEQ_STARTID_IDX
           
 
Fields inherited from class org.objectweb.speedo.naming.lib.NamingManagerHelper
BINDER_IDX, cache, HINTS_SEP, ID_CAT_IDX, logger, PCLASS_IDX, pmf, PNC_IDX, POLYMORPHIC_PNC
 
Fields inherited from interface org.objectweb.speedo.naming.api.NamingManager
SEP
 
Constructor Summary
RdbSequenceNamingManager()
           
 
Method Summary
 boolean canManage(SpeedoClass sc)
          Indicates if the naming manager is able to manage the identifier of a persistent class.
 org.objectweb.jorm.naming.api.PName decode(org.objectweb.jorm.naming.api.PNameCoder pnc, java.lang.Object oid, java.lang.Class clazz, JormFactory jf)
          Decodes an object identifier into a PName.
 java.lang.Object encode(org.objectweb.jorm.naming.api.PName pn)
          Encode a PName into an object
 void fillNameDef(MIBuilderHelper mibh, org.objectweb.jorm.metainfo.api.Manager manager, org.objectweb.jorm.metainfo.api.NameDef nd, SpeedoClass tsc, SpeedoClass ssc, org.objectweb.jorm.metainfo.api.MetaObject mo, org.objectweb.jorm.metainfo.api.Reference ref, org.objectweb.jorm.metainfo.api.CommonClassMapping hcm, JormMIMappingBuilder mb, boolean isIdentifier, boolean isInGenClass, boolean createField, java.util.Collection createdMOs)
          The auto incremented field used as identifier can be a visble or an hidden field.
 java.lang.String getGCPNameHints(SpeedoClass sc, org.objectweb.jorm.metainfo.api.NameDef nd)
          compute a string value which permit to help the building of the genclass PName (export)
 void getJormNamingConfig(org.objectweb.jorm.metainfo.api.NameDef nd, SpeedoClass targetClass, org.objectweb.jorm.metainfo.api.MetaObject sourceMO, java.lang.String key, java.util.Properties result)
          computes the naming configuration information for a class or a reference.
protected  java.lang.String getName()
           
 NamingManager.NamingField[] getNamingfields(SpeedoClass sc)
          Retrieves the array of field used in the identifier of a persistent class and which values are not calculated by the application.
 org.objectweb.jorm.naming.api.PBinder getPBinder(java.lang.String className, java.lang.String hints, java.lang.ClassLoader cl, byte mappingStructureRule, java.util.Map cn2binder, java.util.Map cn2pnc)
          Build a PBinder instance for this hints parameter specified
 java.lang.String getPNameHints(SpeedoClass sc, org.objectweb.jorm.metainfo.api.NameDef nd)
          compute a string value which permit to help the building of the class PName (export)
 
Methods inherited from class org.objectweb.speedo.naming.lib.NamingManagerHelper
canProvidePBinder, canProvidePNamingContext, getBinderClassNameFromHints, getPNamingContext, getPNCClassNameFromHints, getTokens, setCache, setLogger, setPMapper, setPmf, supportPNamingcontext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.speedo.naming.api.NamingManager
canProvidePBinder, canProvidePNamingContext, getPNamingContext, setCache, setLogger, setPMapper, setPmf, supportPNamingcontext
 

Field Detail

SEQ_NAME_IDX

public static final int SEQ_NAME_IDX
See Also:
Constant Field Values

SEQ_INCREMENT_IDX

public static final int SEQ_INCREMENT_IDX
See Also:
Constant Field Values

SEQ_STARTID_IDX

public static final int SEQ_STARTID_IDX
See Also:
Constant Field Values

SEQ_CACHE_IDX

public static final int SEQ_CACHE_IDX
See Also:
Constant Field Values

SEQ_ALLOCATOR_IDX

public static final int SEQ_ALLOCATOR_IDX
See Also:
Constant Field Values
Constructor Detail

RdbSequenceNamingManager

public RdbSequenceNamingManager()
Method Detail

canManage

public boolean canManage(SpeedoClass sc)
Description copied from interface: NamingManager
Indicates if the naming manager is able to manage the identifier of a persistent class.

Specified by:
canManage in interface NamingManager
Parameters:
sc - The speedo meta object representing the persistent class

decode

public org.objectweb.jorm.naming.api.PName decode(org.objectweb.jorm.naming.api.PNameCoder pnc,
                                                  java.lang.Object oid,
                                                  java.lang.Class clazz,
                                                  JormFactory jf)
                                           throws org.objectweb.jorm.api.PException
Description copied from interface: NamingManager
Decodes an object identifier into a PName.

Specified by:
decode in interface NamingManager
Parameters:
pnc - is the PNameCoder instance to use for the decoding the object identifier. The pnc parameter can be null. In this case the oid must
oid - is the object identifier
clazz - is the java.lang.Class of the persistent class identified by the oid
jf - is the JormFactory instance. It permits to
Returns:
the object identifier decode as PName
Throws:
org.objectweb.jorm.api.PException

encode

public java.lang.Object encode(org.objectweb.jorm.naming.api.PName pn)
                        throws org.objectweb.jorm.api.PException
Description copied from interface: NamingManager
Encode a PName into an object

Specified by:
encode in interface NamingManager
Parameters:
pn - is the pname to encode
Throws:
org.objectweb.jorm.api.PException

getName

protected java.lang.String getName()
Specified by:
getName in class NamingManagerHelper

getPBinder

public org.objectweb.jorm.naming.api.PBinder getPBinder(java.lang.String className,
                                                        java.lang.String hints,
                                                        java.lang.ClassLoader cl,
                                                        byte mappingStructureRule,
                                                        java.util.Map cn2binder,
                                                        java.util.Map cn2pnc)
                                                 throws org.objectweb.jorm.api.PException
Description copied from interface: NamingManager
Build a PBinder instance for this hints parameter specified

Specified by:
getPBinder in interface NamingManager
Overrides:
getPBinder in class NamingManagerHelper
Throws:
org.objectweb.jorm.api.PException

getJormNamingConfig

public void getJormNamingConfig(org.objectweb.jorm.metainfo.api.NameDef nd,
                                SpeedoClass targetClass,
                                org.objectweb.jorm.metainfo.api.MetaObject sourceMO,
                                java.lang.String key,
                                java.util.Properties result)
                         throws SpeedoException
Description copied from interface: NamingManager
computes the naming configuration information for a class or a reference. This information is store as a String. The string value will be passed to the getPBinder and getPNamingContext methods as hints. This method is used at generation time.
naming of a/td>MOClass/td>
class/td>Class/td>
reference to a Class/td>ClassRef/td>
reference to a GenClass/td>GenClassRef/td>
a GenClass identifier/td>GenClassRef/td>

Specified by:
getJormNamingConfig in interface NamingManager
Parameters:
targetClass - is the Speedo meta object representing the class which is designates by the
result - is the Properties which must be filled
Throws:
SpeedoException

getPNameHints

public java.lang.String getPNameHints(SpeedoClass sc,
                                      org.objectweb.jorm.metainfo.api.NameDef nd)
Description copied from interface: NamingManager
compute a string value which permit to help the building of the class PName (export)

Specified by:
getPNameHints in interface NamingManager
Parameters:
sc - is the Speedo class which the hints must be specified
nd - is the name def of the class

getGCPNameHints

public java.lang.String getGCPNameHints(SpeedoClass sc,
                                        org.objectweb.jorm.metainfo.api.NameDef nd)
Description copied from interface: NamingManager
compute a string value which permit to help the building of the genclass PName (export)

Specified by:
getGCPNameHints in interface NamingManager
Parameters:
sc - is the Speedo class which the hints must be specified
nd - is the name def of the gen class

fillNameDef

public void fillNameDef(MIBuilderHelper mibh,
                        org.objectweb.jorm.metainfo.api.Manager manager,
                        org.objectweb.jorm.metainfo.api.NameDef nd,
                        SpeedoClass tsc,
                        SpeedoClass ssc,
                        org.objectweb.jorm.metainfo.api.MetaObject mo,
                        org.objectweb.jorm.metainfo.api.Reference ref,
                        org.objectweb.jorm.metainfo.api.CommonClassMapping hcm,
                        JormMIMappingBuilder mb,
                        boolean isIdentifier,
                        boolean isInGenClass,
                        boolean createField,
                        java.util.Collection createdMOs)
                 throws SpeedoException,
                        org.objectweb.jorm.api.PException
The auto incremented field used as identifier can be a visble or an hidden field. In case the field is visible, the

Specified by:
fillNameDef in interface NamingManager
Parameters:
nd - is the name def to fill
isIdentifier - indicates if the name represents an identifier (true) or a reference (false).
isInGenClass - indicates if the name is defined in a generic class (true) of in a class (false).
ref - meta object which the name def must be defined. This value is used only in the case of isIdentifier == false and isInGenClass == false.
tsc - is the speedo meta object representing the referenced class. This value is used only in the case of isIdentifier == false.
mo - is the jorm meta object hosting the name def and on which the eventual hidden field will be created.
hcm - if the mapping structure hosting the mapping of the reference. This value must be ClassMapping or GenClassMapping instance.
mb - is the mapping builder permitting the creation of the mapping part.
createdMOs - is a result paramter. This collection must be fill with the created Jorm Meta objects representing a class or a composite name. Here only the new used composite name will be added.
Throws:
SpeedoException - if the speedo meta information is not completly defined.
org.objectweb.jorm.api.PException

getNamingfields

public NamingManager.NamingField[] getNamingfields(SpeedoClass sc)
                                            throws org.objectweb.jorm.api.PException
Description copied from interface: NamingManager
Retrieves the array of field used in the identifier of a persistent class and which values are not calculated by the application. The application field must be set at makePersistent time.

Specified by:
getNamingfields in interface NamingManager
Overrides:
getNamingfields in class NamingManagerHelper
Throws:
org.objectweb.jorm.api.PException