Package com.sleepycat.util
Class ClassResolver
java.lang.Object
com.sleepycat.util.ClassResolver
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA specialized ObjectInputStream that supports use of a user-specified ClassLoader. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ClassresolveClass(String className, ClassLoader classLoader) A specialized Class.forName method that supports use of a user-specified ClassLoader.
-
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
-