com.tc.object.loaders
Interface ClassProvider


public interface ClassProvider

Manage loading relationship between named classloaders and classes


Method Summary
 java.lang.Class getClassFor(java.lang.String className, LoaderDescription desc)
          Given a class name and a classloader description, load the class
 java.lang.ClassLoader getClassLoader(LoaderDescription desc)
          Get classloader by name.
 LoaderDescription getLoaderDescriptionFor(java.lang.Class clazz)
          Convenience wrapper around getLoaderDescriptionFor(ClassLoader)
 LoaderDescription getLoaderDescriptionFor(java.lang.ClassLoader loader)
          Get name for classloader.
 void registerNamedLoader(NamedClassLoader loader, java.lang.String appGroup)
           
 

Method Detail

getClassFor

java.lang.Class getClassFor(java.lang.String className,
                            LoaderDescription desc)
                            throws java.lang.ClassNotFoundException
Given a class name and a classloader description, load the class

Parameters:
className - Class name
desc - Classloader description
Returns:
Class
Throws:
java.lang.ClassNotFoundException - If class not found through loader

getLoaderDescriptionFor

LoaderDescription getLoaderDescriptionFor(java.lang.Class clazz)
Convenience wrapper around getLoaderDescriptionFor(ClassLoader)

Parameters:
clazz - a Class loaded by a registered classloader

getClassLoader

java.lang.ClassLoader getClassLoader(LoaderDescription desc)
Get classloader by name. App group substitution will not take place.

Returns:
Classloader
Throws:
java.lang.IllegalArgumentException - if the specified classloader has not been registered

getLoaderDescriptionFor

LoaderDescription getLoaderDescriptionFor(java.lang.ClassLoader loader)
Get name for classloader. The loader must already have been registered.

Parameters:
loader - Loader
Returns:
the description, or null if the loader has not been registered.

registerNamedLoader

void registerNamedLoader(NamedClassLoader loader,
                         java.lang.String appGroup)
Parameters:
loader - must implement both ClassLoader and NamedClassLoader
appGroup - an appGroup to support sharing roots between apps, or null if no sharing is desired. The empty string will be replaced with null.


Copyright © 2010 Terracotta, Inc.. All Rights Reserved.