org.eclipse.amp.escape.ide
Class ProjectLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.eclipse.amp.escape.ide.ProjectLoader

public class ProjectLoader
extends java.net.URLClassLoader

Provides class loading for a project, with a fall back to the main class-loader for all other classes. Overriding a specific class loader seems to be the only model that works. Decorator pattern does not find new classes.

Author:
milesparker

Field Summary
 java.lang.ClassLoader mainLoader
           
 
Constructor Summary
ProjectLoader(org.eclipse.core.resources.IProject project)
          Instantiates a new project loader.
 
Method Summary
 void activate()
          Activate.
 java.lang.Class<?> loadClass(java.lang.String name)
           
 void restore()
          Restore.
 
Methods inherited from class java.net.URLClassLoader
findResource, findResources, getURLs, newInstance, newInstance
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mainLoader

public java.lang.ClassLoader mainLoader
Constructor Detail

ProjectLoader

public ProjectLoader(org.eclipse.core.resources.IProject project)
              throws LoaderCreationException
Instantiates a new project loader.

Parameters:
project - the project
Throws:
LoaderCreationException - the loader creation exception
Method Detail

activate

public void activate()
              throws LoaderCreationException
Activate.

Throws:
LoaderCreationException - the loader creation exception

restore

public void restore()
Restore.


loadClass

public java.lang.Class<?> loadClass(java.lang.String name)
                             throws java.lang.ClassNotFoundException
Overrides:
loadClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException
See Also:
ClassLoader.loadClass(java.lang.String)