org.exolab.castor.jdo.engine
Class JDOMappingLoader

java.lang.Object
  extended by org.exolab.castor.mapping.loader.AbstractMappingLoader2
      extended by org.exolab.castor.mapping.loader.AbstractMappingLoader
          extended by org.exolab.castor.jdo.engine.JDOMappingLoader
All 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: 8294 $ $Date: 2006-04-13 07:37:49 -0600 (Thu, 13 Apr 2006) $
Author:
Assaf Arkin, Ralf Joachim

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, STRING_ARG, VALUE_OF
 
Constructor Summary
JDOMappingLoader(ClassLoader loader)
          Creates an instance of JDOMappingLoader, providing a ClassLoader instance.
 
Method Summary
protected  ClassDescriptor createClassDescriptor(ClassMapping classMapping)
           
protected  FieldDescriptorImpl 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]".
protected  FieldDescriptor findIdentityByName(List<FieldDescriptor> fldList, String idName, Class javaClass)
           
 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)
           
 void loadMapping(MappingRoot mapping, Object param)
          
protected  void resolveRelations(ClassDescriptor clsDesc)
          Walks through all fields of a descriptor and resolves relation ClassDescriptors by using mapping information or, if not present, resolution by file to support generated ClassDescriptors.
 
Methods inherited from class org.exolab.castor.mapping.loader.AbstractMappingLoader
checkFieldNameDuplicates, createClassDescriptors, createFieldDescriptors, createFieldHandler, createFieldHandlers, divideFieldDescriptors, findAccessor, getDepended, getExtended, getIdColumnIndex, getIdentityColumnNames, getInternalContext, getOrigin, getSourceType, isPrimitive, resolveType, setInternalContext
 
Methods inherited from class org.exolab.castor.mapping.loader.AbstractMappingLoader2
addDescriptor, clear, descriptorIterator, getClassLoader, getDescriptor, getDescriptors, isAllowRedefinition, loadMapping, setAllowRedefinitions, setClassLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDOMappingLoader

public JDOMappingLoader(ClassLoader loader)
Creates an instance of JDOMappingLoader, providing a ClassLoader instance.

Parameters:
loader - A Custom ClassLoader instance.
Method Detail

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()


loadMapping

public void loadMapping(MappingRoot mapping,
                        Object param)
                 throws MappingException

Specified by:
loadMapping in class AbstractMappingLoader
Throws:
MappingException

createClassDescriptor

protected ClassDescriptor createClassDescriptor(ClassMapping classMapping)
                                         throws MappingException
Specified by:
createClassDescriptor in class AbstractMappingLoader
Throws:
MappingException

findIdentityByName

protected FieldDescriptor findIdentityByName(List<FieldDescriptor> fldList,
                                             String idName,
                                             Class javaClass)
                                      throws MappingException
Throws:
MappingException

resolveRelations

protected void resolveRelations(ClassDescriptor clsDesc)
Walks through all fields of a descriptor and resolves relation ClassDescriptors by using mapping information or, if not present, resolution by file to support generated ClassDescriptors. Resolved ClassDescriptors will be set as a field's descriptor.

Specified by:
resolveRelations in class AbstractMappingLoader
Parameters:
clsDesc - The ClassDescriptor in focus.

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 class AbstractMappingLoader
Throws:
MappingException

createFieldDesc

protected FieldDescriptorImpl createFieldDesc(Class javaClass,
                                              FieldMapping fieldMap)
                                       throws MappingException
Overrides:
createFieldDesc in class AbstractMappingLoader
Throws:
MappingException


Copyright © 2010. All Rights Reserved.