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