org.jboss.classloader.spi.base
Class BaseClassLoaderSystem

java.lang.Object
  extended by org.jboss.classloader.spi.base.BaseClassLoaderSystem
Direct Known Subclasses:
ClassLoaderSystem

public abstract class BaseClassLoaderSystem
extends Object

Base ClassLoaderSystem.

Version:
$Revision: 1.1 $
Author:
Adrian Brock

Constructor Summary
BaseClassLoaderSystem()
           
 
Method Summary
protected  void afterRegisterClassLoader(ClassLoader classLoader)
          After register classloader
protected  void afterUnregisterClassLoader(ClassLoader classLoader)
          After unregister classloader
protected  void beforeRegisterClassLoader(ClassLoader classLoader)
          Before register classloader
protected  void beforeUnregisterClassLoader(ClassLoader classLoader)
          Before unregister classloader
protected  BaseClassLoader createClassLoader(ClassLoaderPolicy policy)
          Create a classloader for the given policy
protected  ClassLoader registerClassLoaderPolicy(BaseClassLoaderDomain domain, ClassLoaderPolicy policy)
          Register a policy with a domain
protected  void registerDomain(BaseClassLoaderDomain domain)
          Register a domain
 String toLongString()
          A long version of toString()
protected  void toLongString(StringBuilder builder)
          For subclasses to add information for toLongString()
 String toString()
           
protected  byte[] transform(ClassLoader classLoader, String className, byte[] byteCode, ProtectionDomain protectionDomain)
          Transform the byte code
protected  void unregisterClassLoader(ClassLoader classLoader)
          Unregister a policy with a domain
protected  void unregisterClassLoaderPolicy(ClassLoaderPolicy policy)
          Unregister a policy with a domain
protected  void unregisterDomain(BaseClassLoaderDomain domain)
          Unregister a domain
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BaseClassLoaderSystem

public BaseClassLoaderSystem()
Method Detail

toLongString

public String toLongString()
A long version of toString()

Returns:
the long string

toLongString

protected void toLongString(StringBuilder builder)
For subclasses to add information for toLongString()

Parameters:
builder - the builder

toString

public String toString()
Overrides:
toString in class Object

registerDomain

protected void registerDomain(BaseClassLoaderDomain domain)
Register a domain

Parameters:
domain - the domain to register
Throws:
IllegalArgumentException - for a null domain

unregisterDomain

protected void unregisterDomain(BaseClassLoaderDomain domain)
Unregister a domain

Parameters:
domain - the domain to unregister
Throws:
IllegalArgumentException - for a null domain

registerClassLoaderPolicy

protected ClassLoader registerClassLoaderPolicy(BaseClassLoaderDomain domain,
                                                ClassLoaderPolicy policy)
Register a policy with a domain

Parameters:
domain - the domain
policy - the policy
Returns:
the classloader
Throws:
IllegalArgumentException - if a parameter is null
IllegalStateException - if the policy is already registered with a domain

unregisterClassLoaderPolicy

protected void unregisterClassLoaderPolicy(ClassLoaderPolicy policy)
Unregister a policy with a domain

Parameters:
policy - the policy
Throws:
IllegalArgumentException - if a parameter is null
IllegalStateException - if the policy is not registered with the domain

unregisterClassLoader

protected void unregisterClassLoader(ClassLoader classLoader)
Unregister a policy with a domain

Parameters:
classLoader - the class loader
Throws:
IllegalArgumentException - if a parameter is null
IllegalStateException - if the policy is not registered with the domain

createClassLoader

protected BaseClassLoader createClassLoader(ClassLoaderPolicy policy)
Create a classloader for the given policy

Parameters:
policy - the policy
Returns:
the classloader
Throws:
IllegalArgumentException - for a null policy

beforeRegisterClassLoader

protected void beforeRegisterClassLoader(ClassLoader classLoader)
Before register classloader

Parameters:
classLoader - the classloader

afterRegisterClassLoader

protected void afterRegisterClassLoader(ClassLoader classLoader)
After register classloader

Parameters:
classLoader - the classloader

beforeUnregisterClassLoader

protected void beforeUnregisterClassLoader(ClassLoader classLoader)
Before unregister classloader

Parameters:
classLoader - the classloader

afterUnregisterClassLoader

protected void afterUnregisterClassLoader(ClassLoader classLoader)
After unregister classloader

Parameters:
classLoader - the classloader

transform

protected byte[] transform(ClassLoader classLoader,
                           String className,
                           byte[] byteCode,
                           ProtectionDomain protectionDomain)
                    throws Exception
Transform the byte code

By default this does nothing

Parameters:
classLoader - the classLoader
className - the class name
byteCode - the byte code
protectionDomain - the protection domain
Returns:
the transformed byte code
Throws:
Exception - for any error


Copyright © 2009 JBoss, a division of Red Hat, Inc.. All Rights Reserved.