org.exolab.castor.xml.util

Class ClassDescriptorResolverImpl

Implemented Interfaces:
ClassDescriptorResolver

public class ClassDescriptorResolverImpl
extends java.lang.Object
implements ClassDescriptorResolver

The default implementation of the ClassDescriptorResolver interface
Version:
$Revision: 1.2 $ $Date: 2003/03/19 08:13:28 $
Author:
Keith Visco

Constructor Summary

ClassDescriptorResolverImpl()
Creates a new ClassDescriptorResolverImpl
ClassDescriptorResolverImpl(ClassLoader loader)
Creates a new ClassDescriptorResolverImpl with the given ClassLoader

Method Summary

void
associate(Class type, XMLClassDescriptor classDesc)
Associates (or binds) a class type with a given ClassDescriptor
boolean
error()
Returns true if an error was generated on the last call to one of the resolve methods
String
getErrorMessage()
Returns the last error message generated If no error String exists, null will be returned
Introspector
getIntrospector()
Returns the Introspector being used by this ClassDescriptorResolver.
XMLMappingLoader
getMappingLoader()
XMLClassDescriptor
resolve(Class type)
Returns the XMLClassDescriptor for the given class
XMLClassDescriptor
resolve(String className)
Returns the XMLClassDescriptor for the given class name
XMLClassDescriptor
resolve(String className, ClassLoader loader)
Returns the XMLClassDescriptor for the given class name
ClassDescriptorEnumeration
resolveAllByXMLName(String xmlName, String namespaceURI, ClassLoader loader)
Returns an enumeration of XMLClassDescriptor objects that match the given xml name
XMLClassDescriptor
resolveByXMLName(String xmlName, String namespaceURI, ClassLoader loader)
Returns the first XMLClassDescriptor that matches the given XML name and namespaceURI.
void
setClassLoader(ClassLoader loader)
Sets the ClassLoader to use when loading class descriptors
void
setIntrospection(boolean enable)
Enables or disables introspection.
void
setMappingLoader(XMLMappingLoader mappingLoader)

Constructor Details

ClassDescriptorResolverImpl

public ClassDescriptorResolverImpl()
Creates a new ClassDescriptorResolverImpl

ClassDescriptorResolverImpl

public ClassDescriptorResolverImpl(ClassLoader loader)
Creates a new ClassDescriptorResolverImpl with the given ClassLoader
Parameters:
loader - the ClassLoader to use when loading ClassDescriptors

Method Details

associate

public void associate(Class type,
                      XMLClassDescriptor classDesc)
Associates (or binds) a class type with a given ClassDescriptor
Parameters:
type - the Class to associate with the given descriptor
classDesc - the ClassDescriptor to associate the given class with

error

public boolean error()
Returns true if an error was generated on the last call to one of the resolve methods
Specified by:
error in interface ClassDescriptorResolver
Returns:
true if an error was generated on the last call to one of the resolve methods

getErrorMessage

public String getErrorMessage()
Returns the last error message generated If no error String exists, null will be returned
Specified by:
getErrorMessage in interface ClassDescriptorResolver
Returns:
the last error message generated. If no error String exists, null will be returned

getIntrospector

public Introspector getIntrospector()
Returns the Introspector being used by this ClassDescriptorResolver. This allows for configuration of the Introspector.
Returns:
the Introspector being used by this ClassDescriptorResolver

getMappingLoader

public XMLMappingLoader getMappingLoader()
Specified by:
getMappingLoader in interface ClassDescriptorResolver

resolve

public XMLClassDescriptor resolve(Class type)
Returns the XMLClassDescriptor for the given class
Specified by:
resolve in interface ClassDescriptorResolver
Parameters:
type - the Class to find the XMLClassDescriptor for
Returns:
the XMLClassDescriptor for the given class

resolve

public XMLClassDescriptor resolve(String className)
Returns the XMLClassDescriptor for the given class name
Specified by:
resolve in interface ClassDescriptorResolver
Parameters:
className - the class name to find the XMLClassDescriptor for
Returns:
the XMLClassDescriptor for the given class name

resolve

public XMLClassDescriptor resolve(String className,
                                  ClassLoader loader)
Returns the XMLClassDescriptor for the given class name
Specified by:
resolve in interface ClassDescriptorResolver
Parameters:
className - the class name to find the XMLClassDescriptor for
loader - the ClassLoader to use
Returns:
the XMLClassDescriptor for the given class name

resolveAllByXMLName

public ClassDescriptorEnumeration resolveAllByXMLName(String xmlName,
                                                      String namespaceURI,
                                                      ClassLoader loader)
Returns an enumeration of XMLClassDescriptor objects that match the given xml name
Specified by:
resolveAllByXMLName in interface ClassDescriptorResolver
Parameters:
loader - the ClassLoader to use
Returns:
an enumeration of XMLClassDescriptor objects.

resolveByXMLName

public XMLClassDescriptor resolveByXMLName(String xmlName,
                                           String namespaceURI,
                                           ClassLoader loader)
Returns the first XMLClassDescriptor that matches the given XML name and namespaceURI. Null is returned if no descriptor can be found.
Specified by:
resolveByXMLName in interface ClassDescriptorResolver
Parameters:
loader - the ClassLoader to use
Returns:
the XMLClassDescriptor for the given XML name

setClassLoader

public void setClassLoader(ClassLoader loader)
Sets the ClassLoader to use when loading class descriptors
Parameters:
loader - the ClassLoader to use

setIntrospection

public void setIntrospection(boolean enable)
Enables or disables introspection. Introspection is enabled by default.
Parameters:
enable - a flag to indicate whether or not introspection is allowed.

setMappingLoader

public void setMappingLoader(XMLMappingLoader mappingLoader)
Specified by:
setMappingLoader in interface ClassDescriptorResolver

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