|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.util.loading.ContextClassLoader org.jboss.util.loading.ContextClassLoaderSwitcher
A helper for context classloading switching.
When a security manager is installed, the constructor checks for the runtime permissions "getClassLoader" and "setContextClassLoader". This allows the methods of this class to be used later without having to run in privileged blocks. There are optimized methods to perform the operations within a switch context. This avoids retrieving the current thread on every operation.
Nested Class Summary | |
class |
ContextClassLoaderSwitcher.SwitchContext
A helper class to remember the original classloader and avoid continually retrieveing the current thread. |
Field Summary | |
static org.jboss.util.loading.ContextClassLoaderSwitcher.NewInstance |
INSTANTIATOR
Instantiate a new context class loader switcher |
static RuntimePermission |
SETCONTEXTCLASSLOADER
Set the context classloader permission |
Fields inherited from class org.jboss.util.loading.ContextClassLoader |
GETCLASSLOADER |
Method Summary | |
ContextClassLoaderSwitcher.SwitchContext |
getSwitchContext()
Retrieve a switch context |
ContextClassLoaderSwitcher.SwitchContext |
getSwitchContext(Class clazz)
Deprecated. using a class to determine the classloader is a bad idea, it has the same problems as Class.forName() |
ContextClassLoaderSwitcher.SwitchContext |
getSwitchContext(ClassLoader cl)
Retrieve a switch context and set the new context classloader |
void |
setContextClassLoader(ClassLoader cl)
Set the context classloader |
void |
setContextClassLoader(Thread thread,
ClassLoader cl)
Set the context classloader for the given thread |
Methods inherited from class org.jboss.util.loading.ContextClassLoader |
getContextClassLoader, getContextClassLoader |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final RuntimePermission SETCONTEXTCLASSLOADER
public static final org.jboss.util.loading.ContextClassLoaderSwitcher.NewInstance INSTANTIATOR
Method Detail |
public void setContextClassLoader(ClassLoader cl)
public void setContextClassLoader(Thread thread, ClassLoader cl)
thread
- the threadpublic ContextClassLoaderSwitcher.SwitchContext getSwitchContext()
public ContextClassLoaderSwitcher.SwitchContext getSwitchContext(ClassLoader cl)
cl
- the new classloader
public ContextClassLoaderSwitcher.SwitchContext getSwitchContext(Class clazz)
clazz
- the class whose classloader should be set
as the context classloader
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |