org.jpox.store.mapping
Interface MappingManager

All Known Implementing Classes:
AbstractMappingManager

public interface MappingManager

Representation of a MappingManager, mapping a java mapping type to a datastore mapping type. Allows a java mapping type to map to multiple datastore mapping types. Allows a default datastore mapping type be assigned to each java mapping type. TODO Rationalise the getMapping() methods so we have a single coherent interface rather than the current policy of adding special methods for each particular way of doing things.

Version:
$Revision: 1.24 $

Method Summary
 DatastoreField createDatastoreField(AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, DatastoreAdapter dba, JavaTypeMapping mapping, ColumnMetaData colmd, DatastoreField reference)
          Method to create a datastore field (column) in a container (table).
 DatastoreField createDatastoreField(AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, DatastoreAdapter dba, JavaTypeMapping mapping, java.lang.String javaType, ColumnMetaData colmd)
          Method to create a datastore field (column) in a container (table).
 DatastoreField createDatastoreField(AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, DatastoreAdapter dba, JavaTypeMapping mapping, java.lang.String javaType, int datastoreFieldIndex)
          Method to create a datastore field (column) in a container (table).
 DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping, AbstractPropertyMetaData fmd, int index, StoreManager srm, 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.
 JavaTypeMapping getElementMapping(DatastoreContainerObject table, AbstractPropertyMetaData fmd, DatastoreAdapter dba, ClassLoaderResolver clr)
          Accessor for the element mapping for an embedded collection of elements
 JavaTypeMapping getKeyMapping(DatastoreContainerObject table, AbstractPropertyMetaData fmd, DatastoreAdapter dba, ClassLoaderResolver clr)
          Accessor for the key mapping for an embedded map of keys
 JavaTypeMapping getMapping(java.lang.Class c, boolean serialised, boolean embedded, StoreManager storeMgr, ClassLoaderResolver clr, DatastoreAdapter dba)
          Accessor for a mapping, for a java type.
 JavaTypeMapping getMapping(java.lang.Class c, boolean serialised, boolean embedded, java.lang.String fieldName, DatastoreAdapter dba, TypeManager typeMgr)
          Accessor for a mapping, for a java type.
 JavaTypeMapping getMapping(DatastoreContainerObject table, AbstractPropertyMetaData fmd, DatastoreAdapter dba, ClassLoaderResolver clr)
          Accessor for a mapping for a field, mapped to a table
 JavaTypeMapping getValueMapping(DatastoreContainerObject table, AbstractPropertyMetaData fmd, DatastoreAdapter dba, ClassLoaderResolver clr)
          Accessor for the value mapping for an embedded map of values
 void loadDatastoreMapping(PluginManager mgr, ClassLoaderResolver clr, java.lang.String vendorId)
          Initialise the datastore mapping.
 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.
 

Method Detail

loadDatastoreMapping

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

Parameters:
mgr - the PlyginManager
clr - the ClassLoaderResolver
vendorId - the datastore vendor id

getMapping

public JavaTypeMapping getMapping(java.lang.Class c,
                                  boolean serialised,
                                  boolean embedded,
                                  java.lang.String fieldName,
                                  DatastoreAdapter dba,
                                  TypeManager typeMgr)
Accessor for a mapping, for a java type.

Parameters:
c - The java type
serialised - Whether the type is serialised
embedded - Whether the type is embedded
fieldName - Name of the field (for logging only)
dba - The datastore adapter
typeMgr - the TypeManager
Returns:
The mapping

getMapping

public JavaTypeMapping getMapping(java.lang.Class c,
                                  boolean serialised,
                                  boolean embedded,
                                  StoreManager storeMgr,
                                  ClassLoaderResolver clr,
                                  DatastoreAdapter dba)
Accessor for a mapping, for a java type.

Parameters:
c - The java type
serialised - Whether the type is serialised
embedded - Whether the type is embedded
storeMgr - Manager of the store
clr - ClassLoader resolver
dba - Datastore adapter
Returns:
The mapping

getMapping

public JavaTypeMapping getMapping(DatastoreContainerObject table,
                                  AbstractPropertyMetaData fmd,
                                  DatastoreAdapter dba,
                                  ClassLoaderResolver clr)
Accessor for a mapping for a field, mapped to a table

Parameters:
table - The table
fmd - MetaData for the field
dba - Datastore adapter
clr - ClassLoader resolver
Returns:
The mapping

getElementMapping

public JavaTypeMapping getElementMapping(DatastoreContainerObject table,
                                         AbstractPropertyMetaData fmd,
                                         DatastoreAdapter dba,
                                         ClassLoaderResolver clr)
Accessor for the element mapping for an embedded collection of elements

Parameters:
table - The table
fmd - MetaData for the field
dba - Datastore adapter
clr - ClassLoader resolver
Returns:
The mapping

getKeyMapping

public JavaTypeMapping getKeyMapping(DatastoreContainerObject table,
                                     AbstractPropertyMetaData fmd,
                                     DatastoreAdapter dba,
                                     ClassLoaderResolver clr)
Accessor for the key mapping for an embedded map of keys

Parameters:
table - The table
fmd - MetaData for the field
dba - Datastore adapter
clr - ClassLoader resolver
Returns:
The mapping

getValueMapping

public JavaTypeMapping getValueMapping(DatastoreContainerObject table,
                                       AbstractPropertyMetaData fmd,
                                       DatastoreAdapter dba,
                                       ClassLoaderResolver clr)
Accessor for the value mapping for an embedded map of values

Parameters:
table - The table
fmd - MetaData for the field
dba - Datastore adapter
clr - ClassLoader resolver
Returns:
The mapping

createDatastoreMapping

public DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping,
                                               AbstractPropertyMetaData fmd,
                                               int index,
                                               StoreManager srm,
                                               DatastoreField column)
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
srm - Store Manager
column - The column
Returns:
The datastore mapping

createDatastoreMapping

public 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.

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 (column) in a container (table).

Parameters:
fmd - MetaData for the field
datastoreContainer - The container in the datastore
dba - Datastore adapter
mapping - The java mapping
javaType - The java type
datastoreFieldIndex - The index of the datastore field to create
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 (column) in a container (table).

Parameters:
fmd - MetaData for the field
datastoreContainer - The container in the datastore
dba - Datastore adapter
mapping - The java mapping
javaType - The java type
colmd - MetaData for the column to create
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 (column) in a container (table).

Parameters:
fmd - MetaData for the field
datastoreContainer - The container in the datastore
dba - Datastore adapter
mapping - The java mapping
colmd - MetaData for the column to create
reference - The field to reference
Returns:
The datastore field

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

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


Copyright © -2007 . All Rights Reserved.