Class AbstractResolverClassCommand

java.lang.Object
org.exolab.castor.xml.util.resolvers.AbstractResolverClassCommand
All Implemented Interfaces:
ResolverClassCommand
Direct Known Subclasses:
ByDescriptorClass, ByIntrospection, ByMappingLoader

public abstract class AbstractResolverClassCommand extends Object implements ResolverClassCommand
The abstract resolver command provides the argument checking, writes a debug message and reads the class loader from the properties... All specific code is found in the extended classes.
Since:
1.2
Version:
$Id$
Author:
Joachim Grueneis, jgrueneis AT gmail DOT com
  • Constructor Details

    • AbstractResolverClassCommand

      public AbstractResolverClassCommand()
  • Method Details

    • resolve

      public final Map resolve(String className, Map properties) throws ResolverException
      The one and only purpose resolver commands are good for ;-) . It can be called with className and clazz set, so the command decides which suites it best or at least one of the two arguments set.
      Specified by:
      resolve in interface ResolverClassCommand
      Parameters:
      className - the name of the class to resolve
      properties - the Properties to be used at resolve
      Returns:
      a Map of className and XMLClassDescriptor
      Throws:
      ResolverException - in case that resolving fails fatally
    • internalResolve

      protected abstract Map internalResolve(String className, ClassLoader classLoader, Map props) throws ResolverException
      The required parameter checks are in the public method and here we expect that the resolve logic itself is implemented.
      Parameters:
      className - the name of the class to resolve
      classLoader - the class loader to use
      props - the resolve properties to use
      Returns:
      a Map of className and XMLClassDescriptor
      Throws:
      ResolverException - if unrecoverable problems in resolve occured