MappingLoaderJDOMappingLoader, XMLMappingLoaderpublic abstract class AbstractMappingLoader extends AbstractMappingLoader2
| Modifier and Type | Class | Description | 
|---|---|---|
class  | 
AbstractMappingLoader.TypeInfoReference | 
 A class used to by the createFieldHandler method in order to
 save the reference of the TypeInfo that was used. 
 | 
| Modifier and Type | Field | Description | 
|---|---|---|
protected static java.lang.Class<?>[] | 
EMPTY_ARGS | 
 Empty array of class types used for reflection. 
 | 
protected static java.lang.String | 
NAME | 
 Method name to get string value of a type-safe enumerations. 
 | 
protected static java.lang.Class<?>[] | 
STRING_ARG | 
 The string argument for the valueOf method, used for introspection when searching for
  type-safe enumeration style classes. 
 | 
protected static java.lang.String | 
VALUE_OF | 
 Factory method name for type-safe enumerations. 
 | 
| Modifier | Constructor | Description | 
|---|---|---|
protected  | 
AbstractMappingLoader(java.lang.ClassLoader loader) | 
 Constructs a new mapping helper. 
 | 
| Modifier and Type | Method | Description | 
|---|---|---|
protected void | 
checkFieldNameDuplicates(FieldDescriptor[] fields,
                        java.lang.Class<?> cls) | 
 Checks all given fields for name equality and throws a MappingException if at
 least two fields have the same name. 
 | 
protected abstract ClassDescriptor | 
createClassDescriptor(ClassMapping clsMap) | 
|
protected void | 
createClassDescriptors(MappingRoot mapping) | 
|
protected FieldDescriptorImpl | 
createFieldDesc(java.lang.Class<?> javaClass,
               FieldMapping fieldMap) | 
 Creates a single field descriptor. 
 | 
protected FieldDescriptorImpl[] | 
createFieldDescriptors(ClassMapping clsMap,
                      java.lang.Class<?> javaClass) | 
 Create field descriptors. 
 | 
protected FieldHandler | 
createFieldHandler(java.lang.Class<?> javaClass,
                  java.lang.Class<?> fldType,
                  FieldMapping fldMap,
                  AbstractMappingLoader.TypeInfoReference typeInfoRef) | 
 Creates the FieldHandler for the given FieldMapping. 
 | 
protected void | 
createFieldHandlers(MappingRoot mapping) | 
 Load field handler definitions, check for duplicate definitions and 
 instantiate the appropriate FieldHandler implementations. 
 | 
protected FieldDescriptor[] | 
divideFieldDescriptors(FieldDescriptor[] fields,
                      java.lang.String[] ids,
                      FieldDescriptor[] identities) | 
|
static java.lang.reflect.Method | 
findAccessor(java.lang.Class<?> javaClass,
            java.lang.String methodName,
            java.lang.Class<?> fieldType,
            boolean getMethod) | 
 Returns the named accessor. 
 | 
protected ClassDescriptor | 
getDepended(ClassMapping clsMap,
           java.lang.Class<?> javaClass) | 
 Gets the ClassDescriptor the given  
classMapping depends
 on. | 
protected ClassDescriptor | 
getExtended(ClassMapping clsMap,
           java.lang.Class<?> javaClass) | 
 Gets the ClassDescriptor the given  
classMapping extends. | 
protected int | 
getIdColumnIndex(FieldDescriptor field,
                java.lang.String[] ids) | 
 Finds the index in the given  
idColumnNames that has the same name as
 the given field. | 
static java.lang.String[] | 
getIdentityColumnNames(java.lang.String[] ids,
                      ClassMapping clsMap) | 
 Returns a list of column names that are part of the identity. 
 | 
InternalContext | 
getInternalContext() | 
|
protected ClassMapping | 
getOrigin(ClassMapping clsMap) | 
 Gets the top-most (i.e. 
 | 
java.lang.String | 
getSourceType() | 
|
protected TypeInfo | 
getTypeInfo(java.lang.Class<?> fieldType,
           CollectionHandler colHandler,
           FieldMapping fieldMap) | 
|
protected static boolean | 
isPrimitive(java.lang.Class<?> type) | 
 Returns true if the given class should be treated as a primitive
 type 
 | 
abstract void | 
loadMapping(MappingRoot mapping,
           java.lang.Object param) | 
 Loads the mapping from the specified mapping object if not loaded previously. 
 | 
protected abstract void | 
resolveRelations(ClassDescriptor clsDesc) | 
|
protected java.lang.Class<?> | 
resolveType(java.lang.String typeName) | 
 Returns the Java class for the named type. 
 | 
void | 
setInternalContext(InternalContext internalContext) | 
addDescriptor, clear, getClassLoader, getDescriptor, getDescriptors, isAllowRedefinition, loadMapping, setAllowRedefinitions, setClassLoadergetBindingTypeprotected static final java.lang.Class<?>[] EMPTY_ARGS
protected static final java.lang.Class<?>[] STRING_ARG
protected static final java.lang.String VALUE_OF
protected static final java.lang.String NAME
protected AbstractMappingLoader(java.lang.ClassLoader loader)
loader - The class loader to use, null for the defaultpublic final java.lang.String getSourceType()
public abstract void loadMapping(MappingRoot mapping, java.lang.Object param) throws MappingException
mapping - The mapping information.param - Arbitrary parameter that can be used by subclasses.MappingException - The mapping file is invalid.protected void createFieldHandlers(MappingRoot mapping) throws MappingException
mapping - Mapping to load field handler definitions from.MappingException - If mapping contains more then one field handler
        definition with same name.protected final void createClassDescriptors(MappingRoot mapping) throws MappingException
MappingExceptionprotected abstract ClassDescriptor createClassDescriptor(ClassMapping clsMap) throws MappingException
MappingExceptionprotected final ClassDescriptor getExtended(ClassMapping clsMap, java.lang.Class<?> javaClass) throws MappingException
classMapping extends.clsMap - The ClassMapping to find the required descriptor for.javaClass - The name of the class that is checked (this is used for
        generating the exception).null if the given ClassMapping does not extend
         any.MappingException - If the given ClassMapping extends another
         ClassMapping but its descriptor could not be found.protected final ClassDescriptor getDepended(ClassMapping clsMap, java.lang.Class<?> javaClass) throws MappingException
classMapping depends
 on.clsMap - The ClassMapping to find the required ClassDescriptor for.javaClass - The name of the class that is checked (this is used for
        generating the exception).null if the given ClassMapping does not depend on
         any.MappingException - If the given ClassMapping depends on another
         ClassMapping but its descriptor could not be found.protected final void checkFieldNameDuplicates(FieldDescriptor[] fields, java.lang.Class<?> cls) throws MappingException
fields - The fields to be checked.cls - Class that is checked (this is used for generating the exception).MappingException - If at least two fields have the same name.protected abstract void resolveRelations(ClassDescriptor clsDesc)
protected final java.lang.Class<?> resolveType(java.lang.String typeName)
                                        throws MappingException
MappingExceptionprotected final FieldDescriptorImpl[] createFieldDescriptors(ClassMapping clsMap, java.lang.Class<?> javaClass) throws MappingException
clsMap - The class to which the fields belong.javaClass - The field mappings.MappingException - An exception indicating why mapping for the class cannot
         be created.protected final ClassMapping getOrigin(ClassMapping clsMap)
classMapping.clsMap - The ClassMapping to get the origin for.protected final FieldDescriptor[] divideFieldDescriptors(FieldDescriptor[] fields, java.lang.String[] ids, FieldDescriptor[] identities)
protected int getIdColumnIndex(FieldDescriptor field, java.lang.String[] ids)
idColumnNames that has the same name as
 the given field.field - The FieldDescriptor to find the column index for.ids - The id columnNames available.-1 if no such id column name exists.protected FieldDescriptorImpl createFieldDesc(java.lang.Class<?> javaClass, FieldMapping fieldMap) throws MappingException
FieldDescriptor. Implementations may extend this class to create a more
 suitable descriptor.javaClass - The class to which the field belongs.fieldMap - The field mapping information.MappingException - The field or its accessor methods are not
         found, not accessible, not of the specified type, etc.protected final FieldHandler createFieldHandler(java.lang.Class<?> javaClass, java.lang.Class<?> fldType, FieldMapping fldMap, AbstractMappingLoader.TypeInfoReference typeInfoRef) throws MappingException
javaClass - the class type of the parent of the field.fldType - the Java class type for the field.fldMap - the field mapping.MappingExceptionprotected TypeInfo getTypeInfo(java.lang.Class<?> fieldType, CollectionHandler colHandler, FieldMapping fieldMap) throws MappingException
MappingExceptionpublic static final java.lang.reflect.Method findAccessor(java.lang.Class<?> javaClass,
                                                          java.lang.String methodName,
                                                          java.lang.Class<?> fieldType,
                                                          boolean getMethod)
                                                   throws MappingException
javaClass - The class to which the field belongs.methodName - The name of the accessor method.fieldType - The type of the field if known, or null.getMethod - True if get method, false if set method.MappingException - The method is not accessible or is not of the
         specified type.public static final java.lang.String[] getIdentityColumnNames(java.lang.String[] ids,
                                                              ClassMapping clsMap)
ids - Known identity names.clsMap - The class mapping.protected static final boolean isPrimitive(java.lang.Class<?> type)
public void setInternalContext(InternalContext internalContext)
public InternalContext getInternalContext()
Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com