org.exolab.castor.jdo.engine

Class JDOMappingLoader

Implemented Interfaces:
MappingLoader

public final class JDOMappingLoader
extends AbstractMappingLoader

A JDO implementation of mapping helper. Creates JDO class descriptors from the mapping file.
Version:
$Revision: 6305 $ $Date: 2006-04-13 07:37:49 -0600 (Thu, 13 Apr 2006) $
Author:
Assaf Arkin

Nested Class Summary

Nested classes/interfaces inherited from class org.exolab.castor.mapping.loader.AbstractMappingLoader

AbstractMappingLoader.TypeInfoReference

Field Summary

Fields inherited from class org.exolab.castor.mapping.loader.AbstractMappingLoader

EMPTY_ARGS, NO_DESCRIPTOR, STRING_ARG, VALUE_OF

Constructor Summary

JDOMappingLoader(ClassLoader loader)

Method Summary

protected ClassDescriptor
createDescriptor(ClassMapping clsMap)
protected FieldDescriptor
createFieldDesc(Class javaClass, FieldMapping fieldMap)
static String
definition2param(String sqlTypeDef)
Extracts parameter for type convertor from the SQL type definition of the form "SQL_TYPE_NAME[PARAMETER]".
static String
definition2type(String sqlTypeDef)
Extracts SQL type name from the the SQL type definition of the form "SQL_TYPE_NAME[PARAMETER]".
BindingType
getBindingType()
protected String[]
getSqlTypes(FieldMapping fieldMap)
Parse the sql type attribute to build an array of types, needed to support whitespace inside parameterized types (see Bug 1045)
protected TypeInfo
getTypeInfo(Class fieldType, CollectionHandler colHandler, FieldMapping fieldMap)
protected void
loadMappingInternal(MappingRoot mapping, Object param)

Methods inherited from class org.exolab.castor.mapping.loader.AbstractMappingLoader

createDescriptor, createFieldDesc, createFieldHandler, findAccessor, getIdentityColumnNames, getSourceType, getTypeInfo, isPrimitive, loadMappingInternal, resolveRelations, resolveType

Methods inherited from class org.exolab.castor.mapping.loader.AbstractMappingLoader2

addDescriptor, clear, descriptorIterator, getClassLoader, getDescriptor, isAllowRedefinition, loadMapping, loadMappingInternal, setAllowRedefinitions, setClassLoader

Constructor Details

JDOMappingLoader

public JDOMappingLoader(ClassLoader loader)

Method Details

createDescriptor

protected ClassDescriptor createDescriptor(ClassMapping clsMap)
            throws MappingException
Overrides:
createDescriptor in interface AbstractMappingLoader

createFieldDesc

protected FieldDescriptor createFieldDesc(Class javaClass,
                                          FieldMapping fieldMap)
            throws MappingException
Overrides:
createFieldDesc in interface AbstractMappingLoader

definition2param

public static String definition2param(String sqlTypeDef)
Extracts parameter for type convertor from the SQL type definition of the form "SQL_TYPE_NAME[PARAMETER]". If the type is not parameterized, returns null.
Parameters:
sqlTypeDef - SQL type definition (e.g. char[01]).
Returns:
Parameter (e.g. "01") or null if not parameterized.

definition2type

public static String definition2type(String sqlTypeDef)
Extracts SQL type name from the the SQL type definition of the form "SQL_TYPE_NAME[PARAMETER]".
Parameters:
sqlTypeDef - SQL type definition (e.g. char[01]).
Returns:
SQL type name (e.g. "char").

getBindingType

public BindingType getBindingType()
Specified by:
getBindingType in interface MappingLoader

getSqlTypes

protected String[] getSqlTypes(FieldMapping fieldMap)
Parse the sql type attribute to build an array of types, needed to support whitespace inside parameterized types (see Bug 1045)

getTypeInfo

protected TypeInfo getTypeInfo(Class fieldType,
                               CollectionHandler colHandler,
                               FieldMapping fieldMap)
            throws MappingException
Overrides:
getTypeInfo in interface AbstractMappingLoader

loadMappingInternal

protected void loadMappingInternal(MappingRoot mapping,
                                   Object param)
            throws MappingException
Overrides:
loadMappingInternal in interface AbstractMappingLoader

Intalio Inc. (C) 1999-2006. All rights reserved http://www.intalio.com