Class ClassResolver

java.lang.Object
com.sleepycat.util.ClassResolver

public class ClassResolver extends Object
Implements policies for loading user-supplied classes. The resolveClass(java.lang.String, java.lang.ClassLoader) method should be used to load all user-supplied classes, and the ClassResolver.Stream class should be used as a replacement for ObjectInputStream to deserialize instances of user-supplied classes.

The ClassLoader specified as a param should be the one configured using EnvironmentConfig.setClassLoader. This loader is used, if non-null. If the loader param is null, but a non-null thread-context loader is available, the latter is used. If the loader param and thread-context loader are both null, or if they fail to load a class by throwing ClassNotFoundException, then the default Java mechanisms for determining the class loader are used.

  • Constructor Details

    • ClassResolver

      public ClassResolver()
  • Method Details

    • resolveClass

      public static Class resolveClass(String className, ClassLoader classLoader) throws ClassNotFoundException
      A specialized Class.forName method that supports use of a user-specified ClassLoader. If the loader param and thread-context loader are both null, of if they throw ClassNotFoundException, then Class.forName is called and the "current loader" (the one used to load JE) will be used.
      Throws:
      ClassNotFoundException