jfun.jaskell.classloader
Class MyClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by jfun.jaskell.classloader.MyClassLoader

public class MyClassLoader
extends java.net.URLClassLoader

The ClassLoader implementation that can accept additional URL for class path.
It also queries a LoadingPolicy object to decide its class loading behavior.

Zephyr Business Solution

Author:
Ben Yu

Constructor Summary
MyClassLoader(java.io.File[] files, java.lang.ClassLoader parent, LoadingPolicy ipf)
           
MyClassLoader(java.io.File[] files, LoadingPolicy ipf)
           
MyClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent, LoadingPolicy ipf)
           
MyClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent, java.net.URLStreamHandlerFactory factory, LoadingPolicy ipf)
           
MyClassLoader(java.net.URL[] urls, LoadingPolicy ipf)
           
 
Method Summary
 java.util.Enumeration enumerateResources(java.lang.String name)
          Returns a java.util.Enumeration object that enumerates all resource URL's for a given resource name.
 java.lang.Class findClass(java.lang.String name)
          Finds a class by name.
 java.net.URL findResource(java.lang.String name)
          Find a resource.
 java.util.Enumeration findResources(java.lang.String name)
           
 java.net.URL getResource(java.lang.String name)
           
 java.lang.Class loadClass(java.lang.String name, boolean resolve)
           
 java.lang.Class lookupClass(java.lang.String name)
           
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, getPermissions, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MyClassLoader

public MyClassLoader(java.net.URL[] urls,
                     java.lang.ClassLoader parent,
                     java.net.URLStreamHandlerFactory factory,
                     LoadingPolicy ipf)

MyClassLoader

public MyClassLoader(java.net.URL[] urls,
                     java.lang.ClassLoader parent,
                     LoadingPolicy ipf)

MyClassLoader

public MyClassLoader(java.net.URL[] urls,
                     LoadingPolicy ipf)

MyClassLoader

public MyClassLoader(java.io.File[] files,
                     java.lang.ClassLoader parent,
                     LoadingPolicy ipf)
              throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException

MyClassLoader

public MyClassLoader(java.io.File[] files,
                     LoadingPolicy ipf)
              throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException
Method Detail

findClass

public java.lang.Class findClass(java.lang.String name)
                          throws java.lang.ClassNotFoundException
Finds a class by name.

Overrides:
findClass in class java.net.URLClassLoader
Parameters:
name - the class name.
Returns:
the Class object.
Throws:
java.lang.ClassNotFoundException - when the class cannot be found.

findResource

public java.net.URL findResource(java.lang.String name)
Find a resource.

Overrides:
findResource in class java.net.URLClassLoader
Parameters:
name - the resource name.
Returns:
the URL for the resource.

enumerateResources

public java.util.Enumeration enumerateResources(java.lang.String name)
                                         throws java.io.IOException
Returns a java.util.Enumeration object that enumerates all resource URL's for a given resource name.

Parameters:
name - the resource name.
Returns:
the Enumeration object.
Throws:
java.io.IOException - when fails with io error.

lookupClass

public java.lang.Class lookupClass(java.lang.String name)
                            throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

loadClass

public java.lang.Class loadClass(java.lang.String name,
                                 boolean resolve)
                          throws java.lang.ClassNotFoundException
Overrides:
loadClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException

getResource

public java.net.URL getResource(java.lang.String name)
Overrides:
getResource in class java.lang.ClassLoader

findResources

public java.util.Enumeration findResources(java.lang.String name)
                                    throws java.io.IOException
Overrides:
findResources in class java.net.URLClassLoader
Throws:
java.io.IOException