|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
org.jasig.portal.car.CarClassLoader
public class CarClassLoader
Loads classes and resources from installed CARs via the CarResources class. If classes are visible via the parent class loader then they will be used in place of those in the CARs. This is a singleton so that we have a single unified class namespace for all car resources preventing linkage errors and class cast exceptions.
Field Summary | |
---|---|
private static org.apache.commons.logging.Log |
log
|
static java.lang.String |
RCS_ID
|
Constructor Summary | |
---|---|
CarClassLoader()
Create a CarClassLoader. |
|
CarClassLoader(java.lang.ClassLoader cl)
Create a CarClassloader with the indicated parent class loader. |
Method Summary | |
---|---|
private void |
createPackage(java.lang.String pkgName)
Creates the package name for the calling class, which is null by default based on the JavaDoc for ClassLoader. |
private java.lang.Class |
defineTheClass(java.lang.String n,
byte[] b,
int offset,
int len)
Create and return the Class object from the passed in class bytes. |
java.lang.Class |
findClass(java.lang.String name)
Implement the overloading of findClass to return classes that are available from installed CAR files. |
java.net.URL |
findResource(java.lang.String res)
Returns a URL pointing to a car resource if a suitable resource is found in the loaded set of CAR files or null if one is not found. |
private java.lang.String |
getPackageName(java.lang.String name)
Returns a package name from a package/classname path. |
Methods inherited from class java.security.SecureClassLoader |
---|
defineClass, defineClass, getPermissions |
Methods inherited from class java.lang.ClassLoader |
---|
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String RCS_ID
private static final org.apache.commons.logging.Log log
Constructor Detail |
---|
CarClassLoader()
CarClassLoader(java.lang.ClassLoader cl)
Method Detail |
---|
public java.lang.Class findClass(java.lang.String name) throws java.lang.ClassNotFoundException
findClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
private java.lang.Class defineTheClass(java.lang.String n, byte[] b, int offset, int len)
private void createPackage(java.lang.String pkgName)
pkgName
- the package to create.private java.lang.String getPackageName(java.lang.String name)
name
- the package/class name.
public java.net.URL findResource(java.lang.String res)
findResource
in class java.lang.ClassLoader
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |