## org.eclipse.amp.escape.ide
Class ProjectLoader

    java.lang.Object
      java.lang.ClassLoader
          java.security.SecureClassLoader
              java.net.URLClassLoader
                  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)`