com.sun.enterprise.v3.server
Class ClassLoaderHierarchyImpl

java.lang.Object
  extended by com.sun.enterprise.v3.server.ClassLoaderHierarchyImpl
All Implemented Interfaces:
ClassLoaderHierarchy

@Service
public class ClassLoaderHierarchyImpl
extends Object
implements ClassLoaderHierarchy

Author:
Sanjeeb.Sahoo@Sun.COM

Constructor Summary
ClassLoaderHierarchyImpl()
           
 
Method Summary
 ClassLoader createApplicationParentCL(ClassLoader parent, DeploymentContext context)
          Sets up the parent class loader for the application class loader.
 ClassLoader getAPIClassLoader()
           
 DelegatingClassLoader.ClassFinder getAppLibClassFinder(List<URI> libURIs)
           
 ClassLoader getAppLibClassLoader(String application, List<URI> libURIs)
           
 ClassLoader getCommonClassLoader()
           
 String getCommonClassPath()
           
 DelegatingClassLoader getConnectorClassLoader(String application)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassLoaderHierarchyImpl

public ClassLoaderHierarchyImpl()
Method Detail

getAPIClassLoader

public ClassLoader getAPIClassLoader()
Specified by:
getAPIClassLoader in interface ClassLoaderHierarchy

getCommonClassLoader

public ClassLoader getCommonClassLoader()
Specified by:
getCommonClassLoader in interface ClassLoaderHierarchy

getCommonClassPath

public String getCommonClassPath()
Specified by:
getCommonClassPath in interface ClassLoaderHierarchy

getConnectorClassLoader

public DelegatingClassLoader getConnectorClassLoader(String application)
Specified by:
getConnectorClassLoader in interface ClassLoaderHierarchy

getAppLibClassLoader

public ClassLoader getAppLibClassLoader(String application,
                                        List<URI> libURIs)
                                 throws MalformedURLException
Specified by:
getAppLibClassLoader in interface ClassLoaderHierarchy
Throws:
MalformedURLException

getAppLibClassFinder

public DelegatingClassLoader.ClassFinder getAppLibClassFinder(List<URI> libURIs)
                                                       throws MalformedURLException
Specified by:
getAppLibClassFinder in interface ClassLoaderHierarchy
Throws:
MalformedURLException

createApplicationParentCL

public ClassLoader createApplicationParentCL(ClassLoader parent,
                                             DeploymentContext context)
                                      throws com.sun.enterprise.module.ResolveError
Sets up the parent class loader for the application class loader. Application class loader are under the control of the ArchiveHandler since a special archive file format will require a specific class loader. However GlassFish needs to be able to add capabilities to the application like adding APIs accessibility, this is done through its parent class loader which we create and maintain.

Specified by:
createApplicationParentCL in interface ClassLoaderHierarchy
Parameters:
parent - the parent class loader
context - deployment context
Returns:
class loader capable of loading public APIs identified by the deployers
Throws:
com.sun.enterprise.module.ResolveError - if one of the deployer's public API module is not found.


Copyright © 2012. All Rights Reserved.