org.schmant.tpm
Class TaskPackageClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.entityfs.util.lang.EntityClassLoader
          extended by org.schmant.tpm.TaskPackageClassLoader
Direct Known Subclasses:
IsolatedTaskPackageClassLoader, SharedTaskPackageClassLoader

public abstract class TaskPackageClassLoader
extends EntityClassLoader

The TaskPackageClassLoader is the class loader used to load classes from task packages. Implementations of this interface implement Schmant's different class loader strategies.

Since:
0.5
Author:
Karl Gustafsson

Constructor Summary
TaskPackageClassLoader(ClassLoader parent)
           
 
Method Summary
abstract  void addClasspath(String packageName, List<? extends EntityView> l)
          Add a list of packages to the class loader for a task package.
 
Methods inherited from class org.entityfs.util.lang.EntityClassLoader
addToClasspath, close, defineClass, definePackage, finalize, findClass, findFileInClasspath, getClassOrNull, getClasspath, getLogAdapter, getPackage, getPackages, getResourceAsStream, isDebugLoggingEnabled, isFinerLoggingEnabled, isTraceLoggingEnabled
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TaskPackageClassLoader

public TaskPackageClassLoader(ClassLoader parent)
Method Detail

addClasspath

public abstract void addClasspath(String packageName,
                                  List<? extends EntityView> l)
Add a list of packages to the class loader for a task package.

The implementation of this method should be synchronized.

Parameters:
packageName - The package name.
l - The classpath. All Jar files in the class path must be FCRandomAccess:ible.