org.jboss.util.loading
Class ContextClassLoaderSwitcher.SwitchContext

java.lang.Object
  extended byorg.jboss.util.loading.ContextClassLoaderSwitcher.SwitchContext
Enclosing class:
ContextClassLoaderSwitcher (src)

public class ContextClassLoaderSwitcher.SwitchContext
extends java.lang.Object

A helper class to remember the original classloader and avoid continually retrieveing the current thread.


Method Summary
 void forceReset()
          Force a reset back to the original classloader, useful when somebody else might have changed the thread context classloader so we cannot optimize
 java.lang.ClassLoader getCurrentClassLoader()
          Retrieve the current classloader (as set through this class).
 java.lang.ClassLoader getOriginalClassLoader()
          Retrieve the original classloader
 java.lang.Thread getThread()
          Retrieve the current thread
 void reset()
          Reset back to the original classloader, only when it has changed.
 void setClassLoader(java.lang.ClassLoader cl)
          Change the context classloader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getThread

public java.lang.Thread getThread()
Retrieve the current thread


getOriginalClassLoader

public java.lang.ClassLoader getOriginalClassLoader()
Retrieve the original classloader


getCurrentClassLoader

public java.lang.ClassLoader getCurrentClassLoader()
Retrieve the current classloader (as set through this class).


setClassLoader

public void setClassLoader(java.lang.ClassLoader cl)
Change the context classloader

The operation is ignored if the classloader is null or has not changed

Parameters:
cl - the new classloader

reset

public void reset()
Reset back to the original classloader, only when it has changed.


forceReset

public void forceReset()
Force a reset back to the original classloader, useful when somebody else might have changed the thread context classloader so we cannot optimize