Interface ThreadContextClassLoaderHolder
- All Known Implementing Classes:
ThreadContextClassLoaderBuilder.DefaultHolder
public interface ThreadContextClassLoaderHolder
Specification for how to restore the original ThreadContext ClassLoader to a Thread. When we support JDK 1.7, this should really be an extension of AutoCloseable instead, to support the try-with-resources pattern. Typical use:
// Create and set the ThreadContext ClassLoader
ThreadContextClassLoaderHolder holder = null;
try {
holder = ThreadContextClassLoaderBuilder.createFor(getClass())
.addPath("some/path")
.addURL(someURL)
.addPaths(aPathList)
.buildAndSet();
// ... perform operations using the newly set ThreadContext ClassLoader...
} finally {
// Restore the original ClassLoader
holder.restoreClassLoaderAndReleaseThread();
}
- Since:
- 2.0
-
Method Summary
Modifier and TypeMethodDescriptionRetrieves the ClassPath held by this ThreadContextClassLoaderHolder as aFile.pathSeparatorChar
-separated string.void
Restores the original ThreadContext ClassLoader, and nullifies any references to the Thread which had its ThreadContext ClassLoader altered.
-
Method Details
-
restoreClassLoaderAndReleaseThread
void restoreClassLoaderAndReleaseThread()Restores the original ThreadContext ClassLoader, and nullifies any references to the Thread which had its ThreadContext ClassLoader altered. -
getClassPathAsArgument
String getClassPathAsArgument()Retrieves the ClassPath held by this ThreadContextClassLoaderHolder as aFile.pathSeparatorChar
-separated string. This is directly usable as a String argument by any external process.- Returns:
- the ClassPath as an argument to external processes such as XJC.
-