org.jpox.store.rdbms.mapping
Class RDBMSMappingManager

java.lang.Object
  extended byorg.jpox.store.mapping.AbstractMappingManager
      extended byorg.jpox.store.rdbms.mapping.AbstractRDBMSMappingManager
          extended byorg.jpox.store.rdbms.mapping.RDBMSMappingManager
All Implemented Interfaces:
MappingManager
Direct Known Subclasses:
OracleRDBMSMappingManager

public class RDBMSMappingManager
extends org.jpox.store.rdbms.mapping.AbstractRDBMSMappingManager

Mapping manager for RDBMS datastores. Provides mappings from standard Java types defined in org.jpox.store.mapping to datastore mappings for JDBC types.

Version:
$Revision: 1.26 $

Nested Class Summary
 
Nested classes inherited from class org.jpox.store.mapping.AbstractMappingManager
AbstractMappingManager.TypeMapping
 
Field Summary
protected static Localiser LOCALISER_RDBMS
           
 
Fields inherited from class org.jpox.store.mapping.AbstractMappingManager
LOCALISER
 
Constructor Summary
RDBMSMappingManager()
           
 
Method Summary
 DatastoreField createDatastoreField(AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, DatastoreAdapter dba, JavaTypeMapping mapping, ColumnMetaData colmd, DatastoreField reference)
          Method to create a datastore field for a PersistenceCapable mapping.
 DatastoreField createDatastoreField(AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, DatastoreAdapter dba, JavaTypeMapping mapping, java.lang.String javaType, ColumnMetaData colmd)
          Method to create a datastore field for a Java type mapping.
 DatastoreField createDatastoreField(AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, DatastoreAdapter dba, JavaTypeMapping mapping, java.lang.String javaType, int datastoreFieldIndex)
          Method to create a datastore field for a Java type mapping.
 DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping, AbstractPropertyMetaData fmd, int index, StoreManager storeMgr, DatastoreField column)
          Method to create the datastore mapping for a java type mapping at a particular index.
 DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping, StoreManager storeMgr, DatastoreField column, java.lang.String javaType)
          Method to create the datastore mapping for a particular column and java type.
protected  void deregisterDatastoreMappingsForJavaType(java.lang.String javaTypeName)
          Utility to deregister all mappings for a java type.
protected  void deregisterDatastoreMappingsForJDBCType(java.lang.String jdbcTypeName)
          Utility to deregister all mappings for a JDBC type.
protected  java.lang.Class getDatastoreMappingClass(AbstractPropertyMetaData fmd, int index, ClassLoaderResolver clr)
          Accessor for a datastore mapping class.
protected  java.lang.Class getDatastoreMappingClass(java.lang.String javaType, java.lang.String jdbcType, java.lang.String sqlType)
          Accessor for a datastore mapping class for the specified java type (and optional jdbc type or sql type).
 void loadDatastoreMapping(PluginManager mgr, ClassLoaderResolver clr, java.lang.String vendorId)
          Initialise the datastore mapping file.
 void registerDatastoreMapping(java.lang.String javaTypeName, java.lang.Class datastoreMappingType, java.lang.String jdbcType, java.lang.String sqlType, boolean dflt)
          Utility to register a datastore mapping for a java type, and the SQL/JDBC types it can be mapped to.
 
Methods inherited from class org.jpox.store.mapping.AbstractMappingManager
getDefaultJavaTypeMapping, getElementMapping, getKeyMapping, getMapping, getMapping, getMapping, getMappingClass, getValueMapping
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOCALISER_RDBMS

protected static final Localiser LOCALISER_RDBMS
Constructor Detail

RDBMSMappingManager

public RDBMSMappingManager()
Method Detail

loadDatastoreMapping

public void loadDatastoreMapping(PluginManager mgr,
                                 ClassLoaderResolver clr,
                                 java.lang.String vendorId)
Initialise the datastore mapping file.

Specified by:
loadDatastoreMapping in interface MappingManager
Overrides:
loadDatastoreMapping in class AbstractMappingManager
Parameters:
mgr - the PluginManager
clr - the ClassLoaderResolver
vendorId - the datastore vendor id

registerDatastoreMapping

public void registerDatastoreMapping(java.lang.String javaTypeName,
                                     java.lang.Class datastoreMappingType,
                                     java.lang.String jdbcType,
                                     java.lang.String sqlType,
                                     boolean dflt)
Utility to register a datastore mapping for a java type, and the SQL/JDBC types it can be mapped to. This can also be called to change the default setting of a mapping - just supply the same values of java/JDBC/SQL types and a different default value

Specified by:
registerDatastoreMapping in interface MappingManager
Specified by:
registerDatastoreMapping in class AbstractMappingManager
Parameters:
javaTypeName - Name of the java type
datastoreMappingType - The datastore mapping
jdbcType - The JDBC type that can be used
sqlType - The SQL type that can be used
dflt - Whether this type should be used as the default mapping for this Java type

deregisterDatastoreMappingsForJDBCType

protected void deregisterDatastoreMappingsForJDBCType(java.lang.String jdbcTypeName)
Utility to deregister all mappings for a JDBC type.

Parameters:
jdbcTypeName - The JDBC type name

deregisterDatastoreMappingsForJavaType

protected void deregisterDatastoreMappingsForJavaType(java.lang.String javaTypeName)
Utility to deregister all mappings for a java type.

Parameters:
javaTypeName - Java type name

getDatastoreMappingClass

protected java.lang.Class getDatastoreMappingClass(AbstractPropertyMetaData fmd,
                                                   int index,
                                                   ClassLoaderResolver clr)
Accessor for a datastore mapping class.

Parameters:
fmd - The field MetaData for the field
index - Index of the column
clr - the ClassLoaderResolver. The ClassLoader that loaded the JPOX PMF
Returns:
The mapping class

getDatastoreMappingClass

protected java.lang.Class getDatastoreMappingClass(java.lang.String javaType,
                                                   java.lang.String jdbcType,
                                                   java.lang.String sqlType)
Accessor for a datastore mapping class for the specified java type (and optional jdbc type or sql type).

Parameters:
javaType - The java type
jdbcType - The JDBC type
sqlType - The SQL Type
Returns:
The datastore mapping class

createDatastoreMapping

public DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping,
                                               AbstractPropertyMetaData fmd,
                                               int index,
                                               StoreManager storeMgr,
                                               DatastoreField column)
Description copied from interface: MappingManager
Method to create the datastore mapping for a java type mapping at a particular index.

Parameters:
mapping - The java mapping
fmd - MetaData for the field
index - Index of the datastore field
storeMgr - Store Manager
column - The column
Returns:
The datastore mapping

createDatastoreMapping

public DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping,
                                               StoreManager storeMgr,
                                               DatastoreField column,
                                               java.lang.String javaType)
Description copied from interface: MappingManager
Method to create the datastore mapping for a particular column and java type.

Parameters:
mapping - The java mapping
storeMgr - Store Manager
column - The column
javaType - The java type (isnt this stored in the java mapping ?)
Returns:
The datastore mapping

createDatastoreField

public DatastoreField createDatastoreField(AbstractPropertyMetaData fmd,
                                           DatastoreContainerObject datastoreContainer,
                                           DatastoreAdapter dba,
                                           JavaTypeMapping mapping,
                                           java.lang.String javaType,
                                           int datastoreFieldIndex)
Method to create a datastore field for a Java type mapping. This is NOT used for PersistenceCapable mappings - see method below.

Parameters:
fmd - MetaData for the field
datastoreContainer - The container to add the datastore field to
dba - Datastore adapter
mapping - Java type mapping for the field
javaType - The type of field being stored in this column
datastoreFieldIndex - Index of the datastore field to use
Returns:
The datastore field

createDatastoreField

public DatastoreField createDatastoreField(AbstractPropertyMetaData fmd,
                                           DatastoreContainerObject datastoreContainer,
                                           DatastoreAdapter dba,
                                           JavaTypeMapping mapping,
                                           java.lang.String javaType,
                                           ColumnMetaData colmd)
Method to create a datastore field for a Java type mapping. This is used for serialised elements/keys/values in a join table.

Parameters:
fmd - MetaData for the field
datastoreContainer - The container to add the datastore field to
dba - Datastore adapter
mapping - Java type mapping for the field
javaType - The type of field being stored in this column
colmd - MetaData for the column
Returns:
The datastore field

createDatastoreField

public DatastoreField createDatastoreField(AbstractPropertyMetaData fmd,
                                           DatastoreContainerObject datastoreContainer,
                                           DatastoreAdapter dba,
                                           JavaTypeMapping mapping,
                                           ColumnMetaData colmd,
                                           DatastoreField reference)
Method to create a datastore field for a PersistenceCapable mapping.

Parameters:
fmd - MetaData for the field whose mapping it is
datastoreContainer - Datastore class where we create the datastore field
dba - The datastore adapter
mapping - The Java type for this field
colmd - The columnMetaData for this datastore field
reference - The datastore field we are referencing
Returns:
The DatastoreField


Copyright © -2007 . All Rights Reserved.