jfun.jaskell.classloader
Class MyClassLoader

java.lang.Object
  extended byjava.lang.ClassLoader
      extended byjava.security.SecureClassLoader
          extended byjava.net.URLClassLoader
              extended byjfun.jaskell.classloader.MyClassLoader
All Implemented Interfaces:
jfun.jaskell.classloader.ClassFinder

public class MyClassLoader
extends java.net.URLClassLoader
implements jfun.jaskell.classloader.ClassFinder

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
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, 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

MyClassLoader

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

findClass

public java.lang.Class findClass(java.lang.String name)
                          throws java.lang.ClassNotFoundException
Description copied from interface: jfun.jaskell.classloader.ClassFinder
Finds a class by name.

Specified by:
findClass in interface jfun.jaskell.classloader.ClassFinder
Throws:
java.lang.ClassNotFoundException

findResource

public java.net.URL findResource(java.lang.String name)
Description copied from interface: jfun.jaskell.classloader.ClassFinder
Find a resource.

Specified by:
findResource in interface jfun.jaskell.classloader.ClassFinder

enumerateResources

public java.util.Enumeration enumerateResources(java.lang.String name)
                                         throws java.io.IOException
Description copied from interface: jfun.jaskell.classloader.ClassFinder
Returns a java.util.Enumeration object that enumerates all resource URL's for a given resource name.

Specified by:
enumerateResources in interface jfun.jaskell.classloader.ClassFinder
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
Throws:
java.lang.ClassNotFoundException

getResource

public java.net.URL getResource(java.lang.String name)

findResources

public java.util.Enumeration findResources(java.lang.String name)
                                    throws java.io.IOException
Throws:
java.io.IOException