public class RDBMSMappingManager extends Object implements MappingManager
| Modifier and Type | Class and Description |
|---|---|
class |
RDBMSMappingManager.MappingConverterDetails |
protected class |
RDBMSMappingManager.RDBMSTypeMapping |
| Modifier and Type | Field and Description |
|---|---|
protected org.datanucleus.ClassLoaderResolver |
clr |
protected org.datanucleus.util.MultiMap |
datastoreMappingsByJavaType |
protected org.datanucleus.util.MultiMap |
datastoreMappingsByJDBCType |
protected org.datanucleus.util.MultiMap |
datastoreMappingsBySQLType |
protected RDBMSStoreManager |
storeMgr |
| Constructor and Description |
|---|
RDBMSMappingManager(RDBMSStoreManager storeMgr)
Constructor for a mapping manager for an RDBMS datastore.
|
| Modifier and Type | Method and Description |
|---|---|
Column |
createColumn(org.datanucleus.metadata.AbstractMemberMetaData mmd,
Table table,
JavaTypeMapping mapping,
org.datanucleus.metadata.ColumnMetaData colmd,
Column reference,
org.datanucleus.ClassLoaderResolver clr)
Method to create a datastore field for a persistable mapping.
|
Column |
createColumn(JavaTypeMapping mapping,
String javaType,
org.datanucleus.metadata.ColumnMetaData colmd)
Method to create a datastore field for a Java type mapping.
|
Column |
createColumn(JavaTypeMapping mapping,
String javaType,
int datastoreFieldIndex)
Method to create a column for a Java type mapping.
|
DatastoreMapping |
createDatastoreMapping(JavaTypeMapping mapping,
org.datanucleus.metadata.AbstractMemberMetaData mmd,
int index,
Column column)
Method to create the datastore mapping for a java type mapping at a particular index.
|
DatastoreMapping |
createDatastoreMapping(JavaTypeMapping mapping,
Column column,
String javaType)
Method to create the datastore mapping for a particular column and java type.
|
void |
deregisterDatastoreMappingsForJDBCType(String jdbcTypeName)
Utility to deregister all mappings for a JDBC type.
|
protected Class |
getDatastoreMappingClass(String fieldName,
String javaType,
String jdbcType,
String sqlType,
org.datanucleus.ClassLoaderResolver clr)
Accessor for a datastore mapping class for the specified java type (and optional jdbc type or sql type).
|
protected RDBMSMappingManager.MappingConverterDetails |
getDefaultJavaTypeMapping(Class javaType,
org.datanucleus.metadata.ColumnMetaData[] colmds)
Method to return the default java type mapping class for a specified java type.
|
protected JavaTypeMapping |
getElementMapping(Table table,
org.datanucleus.metadata.AbstractMemberMetaData mmd,
org.datanucleus.metadata.FieldRole fieldRole,
org.datanucleus.ClassLoaderResolver clr)
Convenience accessor for the element mapping for the element of a collection/array of elements.
|
protected JavaTypeMapping |
getKeyMapping(Table table,
org.datanucleus.metadata.AbstractMemberMetaData mmd,
org.datanucleus.ClassLoaderResolver clr)
Convenience accessor for the mapping of the key of a map.
|
JavaTypeMapping |
getMapping(Class javaType)
Accessor for the mapping for the specified class.
|
JavaTypeMapping |
getMapping(Class javaType,
boolean serialised,
boolean embedded,
String fieldName)
Accessor for the mapping for the specified class.
|
JavaTypeMapping |
getMapping(Table table,
org.datanucleus.metadata.AbstractMemberMetaData mmd,
org.datanucleus.ClassLoaderResolver clr,
org.datanucleus.metadata.FieldRole fieldRole)
Accessor for the mapping for the member of the specified table.
|
protected RDBMSMappingManager.MappingConverterDetails |
getMappingClass(Class javaType,
boolean serialised,
boolean embedded,
org.datanucleus.metadata.ColumnMetaData[] colmds,
String fieldName)
Accessor for the mapping class for the specified type.
|
JavaTypeMapping |
getMappingWithDatastoreMapping(Class javaType,
boolean serialised,
boolean embedded,
org.datanucleus.ClassLoaderResolver clr)
Accessor for the mapping for the specified class.
|
protected Class |
getOverrideMappingClass(Class mappingClass,
org.datanucleus.metadata.AbstractMemberMetaData mmd,
org.datanucleus.metadata.FieldRole fieldRole)
Convenience method to allow overriding of particular mapping classes.
|
protected JavaTypeMapping |
getValueMapping(Table table,
org.datanucleus.metadata.AbstractMemberMetaData mmd,
org.datanucleus.ClassLoaderResolver clr)
Convenience accessor for the mapping of the value for a map.
|
void |
loadDatastoreMapping(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr,
String vendorId)
Load all datastore mappings defined in the associated plugins.
|
void |
registerDatastoreMapping(String javaTypeName,
Class datastoreMappingType,
String jdbcType,
String sqlType,
boolean dflt)
Utility to register a datastore mapping for a java type, and the SQL/JDBC types it can be mapped to.
|
protected final RDBMSStoreManager storeMgr
protected final org.datanucleus.ClassLoaderResolver clr
protected org.datanucleus.util.MultiMap datastoreMappingsByJavaType
protected org.datanucleus.util.MultiMap datastoreMappingsByJDBCType
protected org.datanucleus.util.MultiMap datastoreMappingsBySQLType
public RDBMSMappingManager(RDBMSStoreManager storeMgr)
storeMgr - The StoreManagerpublic void loadDatastoreMapping(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr,
String vendorId)
loadDatastoreMapping in interface MappingManagermgr - the PluginManagerclr - the ClassLoaderResolvervendorId - the datastore vendor idpublic JavaTypeMapping getMappingWithDatastoreMapping(Class javaType, boolean serialised, boolean embedded, org.datanucleus.ClassLoaderResolver clr)
getMappingWithDatastoreMapping in interface MappingManagerjavaType - Java typeserialised - Whether the type is serialisedembedded - Whether the type is embeddedclr - ClassLoader resolverpublic JavaTypeMapping getMapping(Class javaType)
getMapping in interface MappingManagerjavaType - Java typepublic JavaTypeMapping getMapping(Class javaType, boolean serialised, boolean embedded, String fieldName)
getMapping in interface MappingManagerjavaType - Java typeserialised - Whether the type is serialisedembedded - Whether the type is embeddedfieldName - Name of the field (for logging)public JavaTypeMapping getMapping(Table table, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.ClassLoaderResolver clr, org.datanucleus.metadata.FieldRole fieldRole)
getMapping in interface MappingManagertable - Table to add the mapping tommd - MetaData for the member to mapclr - The ClassLoaderResolverfieldRole - Role that this mapping plays for the fieldprotected RDBMSMappingManager.MappingConverterDetails getMappingClass(Class javaType, boolean serialised, boolean embedded, org.datanucleus.metadata.ColumnMetaData[] colmds, String fieldName)
javaType - Class to queryserialised - Whether the field is serialisedembedded - Whether the field is embeddedcolmds - Metadata for column(s) (optional)fieldName - The full field name (for logging only)protected JavaTypeMapping getElementMapping(Table table, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.metadata.FieldRole fieldRole, org.datanucleus.ClassLoaderResolver clr)
table - The tablemmd - MetaData for the collection member containing the collection/array of PCsfieldRole - role of this mapping for this memberclr - ClassLoader resolverprotected JavaTypeMapping getKeyMapping(Table table, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.ClassLoaderResolver clr)
table - The containermmd - MetaData for the field containing the map that this key is forclr - ClassLoader resolverprotected JavaTypeMapping getValueMapping(Table table, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.ClassLoaderResolver clr)
table - The containermmd - MetaData for the field/property containing the map that this value is forclr - ClassLoader resolverprotected RDBMSMappingManager.MappingConverterDetails getDefaultJavaTypeMapping(Class javaType, org.datanucleus.metadata.ColumnMetaData[] colmds)
javaType - java typecolmds - Metadata for the column(s) (optional)public void registerDatastoreMapping(String javaTypeName, Class datastoreMappingType, String jdbcType, String sqlType, boolean dflt)
javaTypeName - Name of the java typedatastoreMappingType - The datastore mappingjdbcType - The JDBC type that can be usedsqlType - The SQL type that can be useddflt - Whether this type should be used as the default mapping for this Java typepublic void deregisterDatastoreMappingsForJDBCType(String jdbcTypeName)
jdbcTypeName - The JDBC type nameprotected Class getOverrideMappingClass(Class mappingClass, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.metadata.FieldRole fieldRole)
mappingClass - The mapping class selectedmmd - Meta data for the member (if appropriate)fieldRole - Role for the field (e.g collection element)protected Class getDatastoreMappingClass(String fieldName, String javaType, String jdbcType, String sqlType, org.datanucleus.ClassLoaderResolver clr)
fieldName - Name of the field (if known)javaType - The java typejdbcType - The JDBC typesqlType - The SQL Typeclr - ClassLoader resolver to usepublic DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping, org.datanucleus.metadata.AbstractMemberMetaData mmd, int index, Column column)
createDatastoreMapping in interface MappingManagermapping - The java mappingmmd - MetaData for the field/propertyindex - Index of the columncolumn - The columnpublic DatastoreMapping createDatastoreMapping(JavaTypeMapping mapping, Column column, String javaType)
createDatastoreMapping in interface MappingManagermapping - The java mappingcolumn - The column (can be null)javaType - The java typepublic Column createColumn(JavaTypeMapping mapping, String javaType, int datastoreFieldIndex)
createColumn in interface MappingManagermapping - Java type mapping for the fieldjavaType - The type of field being stored in this columndatastoreFieldIndex - Index of the datastore field to usepublic Column createColumn(JavaTypeMapping mapping, String javaType, org.datanucleus.metadata.ColumnMetaData colmd)
createColumn in interface MappingManagermapping - Java type mapping for the fieldjavaType - The type of field being stored in this columncolmd - MetaData for the columnpublic Column createColumn(org.datanucleus.metadata.AbstractMemberMetaData mmd, Table table, JavaTypeMapping mapping, org.datanucleus.metadata.ColumnMetaData colmd, Column reference, org.datanucleus.ClassLoaderResolver clr)
createColumn in interface MappingManagermmd - MetaData for the field whose mapping it istable - Datastore class where we create the datastore fieldmapping - The Java type for this fieldcolmd - The columnMetaData for this datastore fieldreference - The datastore field we are referencingclr - ClassLoader resolverCopyright © 2015. All rights reserved.