Package org.exolab.castor.xml
Class XMLMappingLoader
java.lang.Object
org.exolab.castor.mapping.loader.AbstractMappingLoader2
org.exolab.castor.mapping.loader.AbstractMappingLoader
org.exolab.castor.xml.XMLMappingLoader
- All Implemented Interfaces:
MappingLoader
An XML implementation of mapping helper. Creates XML class
descriptors from the mapping file.
- Version:
- $Revision: 8152 $ $Date: 2006-02-23 01:37:50 -0700 (Thu, 23 Feb 2006) $
- Author:
- Keith Visco, Assaf Arkin
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class
A special TypeConvertor that simply returns the object given.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
NAME
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ClassDescriptor
createClassDescriptor
(ClassMapping classMapping) To create the class descriptor for the given class mapping.protected FieldDescriptorImpl
createFieldDesc
(Class javaClass, FieldMapping fieldMap) Creates a single field descriptor.protected final FieldDescriptor
findIdentityByName
(List fldList, String idName, Class javaClass) protected TypeInfo
getTypeInfo
(Class fieldType, CollectionHandler colHandler, FieldMapping fieldMap) void
loadMapping
(MappingRoot mapping, Object param) Loads the mapping from the specified mapping object if not loaded previously.protected final void
resolveRelations
(ClassDescriptor clsDesc) void
setLoadPackageMappings
(boolean loadPackageMappings) Sets whether or not to look for and load package specific mapping files (".castor.xml" files).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, getClassLoader, getDescriptor, getDescriptors, isAllowRedefinition, loadMapping, setAllowRedefinitions, setClassLoader
-
Constructor Details
-
XMLMappingLoader
Creates a new XMLMappingLoader. Joachim 2007-08-19: called via ClassLoader from XMLMappingLoaderFactory.getMappingLoader() must not be modified!!!- Parameters:
loader
- the class loader to use
-
-
Method Details
-
getBindingType
-
loadMapping
Loads the mapping from the specified mapping object if not loaded previously.- Specified by:
loadMapping
in classAbstractMappingLoader
- Parameters:
mapping
- The mapping information.param
- Arbitrary parameter that can be used by subclasses.- Throws:
MappingException
- The mapping file is invalid.
-
createClassDescriptor
To create the class descriptor for the given class mapping. Throws IllegalStateException if the class has no valid internal context.- Specified by:
createClassDescriptor
in classAbstractMappingLoader
- Parameters:
classMapping
- the class mapping information to process- Returns:
- the
ClassDescriptor
created for the class mapping - Throws:
MappingException
- ...
-
findIdentityByName
-
resolveRelations
- Specified by:
resolveRelations
in classAbstractMappingLoader
-
createFieldDesc
protected FieldDescriptorImpl createFieldDesc(Class javaClass, FieldMapping fieldMap) throws MappingException Description copied from class:AbstractMappingLoader
Creates a single field descriptor. The field mapping is used to create a new stockFieldDescriptor
. Implementations may extend this class to create a more suitable descriptor.- Overrides:
createFieldDesc
in classAbstractMappingLoader
- Parameters:
javaClass
- The class to which the field belongs.fieldMap
- The field mapping information.- Returns:
- The field descriptor.
- Throws:
MappingException
- The field or its accessor methods are not found, not accessible, not of the specified type, etc.
-
setLoadPackageMappings
public void setLoadPackageMappings(boolean loadPackageMappings) Sets whether or not to look for and load package specific mapping files (".castor.xml" files).- Parameters:
loadPackageMappings
- a boolean that enables or disables the loading of package specific mapping files
-
getTypeInfo
protected TypeInfo getTypeInfo(Class fieldType, CollectionHandler colHandler, FieldMapping fieldMap) throws MappingException - Overrides:
getTypeInfo
in classAbstractMappingLoader
- Throws:
MappingException
-