All Implemented Interfaces:
ResolverPackageCommand

public class ByCDR extends AbstractResolverPackageCommand
Resolves a class by reading the package level class-descriptor-resolver file and loading all descriptors mentioned inside.
Since:
1.2
Version:
$Revision$ $Date$
Author:
Joachim Grueneis, Steven Dolg
  • Constructor Details

    • ByCDR

      public ByCDR()
      No specific stuff needed.
  • Method Details

    • internalResolve

      protected Map<String,ClassDescriptor> internalResolve(String packageName, ClassLoader classLoader, Map properties) throws ResolverException
      Tries to load the CDR file for the given package name using the provided class loader. If the CDR file is available and could be loaded properly the descriptors listed in it are added to this cache.
      If a descriptor is listed in the CDR file for the given package but could not be loaded (e.g. because the reference class file is not available) the descriptor is ignored but no exception is thrown.
      If a CDR file is not available for the given package this method will not load any descriptors and not throw any exceptions.
      Further calls to this method with the same package name will not be processed.
      The required parameter checks are in the public method and here we expect that the resolve logic itself is implemented.
      Specified by:
      internalResolve in class AbstractResolverPackageCommand
      Parameters:
      classLoader - the class loader to use
      properties - the resolve properties to use
      Returns:
      a Map of className and XMLClassDescriptor
      Throws:
      ResolverException - in case of unrecoverable problems at resolving