org.apache.axis2.deployment
Class DeploymentClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.apache.axis2.deployment.DeploymentClassLoader
All Implemented Interfaces:
BeanInfoCachingClassLoader

public class DeploymentClassLoader
extends URLClassLoader
implements BeanInfoCachingClassLoader


Nested Class Summary
static class DeploymentClassLoader.ByteURLConnection
           
static class DeploymentClassLoader.ByteUrlStreamHandler
           
 
Constructor Summary
DeploymentClassLoader(URL[] urls, List embedded_jars, ClassLoader parent, boolean isChildFirstClassLoading)
          DeploymentClassLoader is extended from URLClassLoader.
 
Method Summary
protected  Class findClass(String name)
          Finds and loads the class with the specified name from the URL search path.
 URL findResource(String resource)
          Finds the resource with the specified name on the URL search path.
 Enumeration findResources(String resource)
          Returns an Enumeration of URLs representing all of the resources on the URL search path having the specified name.
 BeanInfoCache getBeanInfoCache()
          Get the BeanInfo cache for this class loader.
 InputStream getResourceAsStream(String name)
           
 boolean isChildFirstClassLoading()
           
protected  Class<?> loadClass(String name, boolean resolve)
           
 void setChildFirstClassLoading(boolean childFirstClassLoading)
           
 
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, getResource, 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

DeploymentClassLoader

public DeploymentClassLoader(URL[] urls,
                             List embedded_jars,
                             ClassLoader parent,
                             boolean isChildFirstClassLoading)
DeploymentClassLoader is extended from URLClassLoader. The constructor does not override the super constructor, but takes in an addition list of jar files inside /lib directory.

Parameters:
urls - URLs
parent - parent classloader ClassLoader
Method Detail

findClass

protected Class findClass(String name)
                   throws ClassNotFoundException
Finds and loads the class with the specified name from the URL search path. Any URLs referring to JAR files are loaded and opened as needed until the class is found.

Overrides:
findClass in class URLClassLoader
Parameters:
name - the name of the class
Returns:
the resulting class
Throws:
ClassNotFoundException - if the class could not be found

findResource

public URL findResource(String resource)
Finds the resource with the specified name on the URL search path.

Overrides:
findResource in class URLClassLoader
Parameters:
resource - the name of the resource
Returns:
a URL for the resource, or null if the resource could not be found.

findResources

public Enumeration findResources(String resource)
                          throws IOException
Returns an Enumeration of URLs representing all of the resources on the URL search path having the specified name.

Overrides:
findResources in class URLClassLoader
Parameters:
resource - the resource name
Returns:
an Enumeration of URLs
Throws:
IOException - if an I/O exception occurs

getResourceAsStream

public InputStream getResourceAsStream(String name)
Overrides:
getResourceAsStream in class ClassLoader

loadClass

protected Class<?> loadClass(String name,
                             boolean resolve)
                      throws ClassNotFoundException
Overrides:
loadClass in class ClassLoader
Throws:
ClassNotFoundException

isChildFirstClassLoading

public boolean isChildFirstClassLoading()

setChildFirstClassLoading

public void setChildFirstClassLoading(boolean childFirstClassLoading)

getBeanInfoCache

public final BeanInfoCache getBeanInfoCache()
Description copied from interface: BeanInfoCachingClassLoader
Get the BeanInfo cache for this class loader.

Specified by:
getBeanInfoCache in interface BeanInfoCachingClassLoader
Returns:
the cache instance; must not be null


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.