pandora
Class CheckClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--pandora.CheckClassLoader

public class CheckClassLoader
extends java.lang.ClassLoader

Check permissions to use a classloader.

alexis.grandemange@pagebox.net

Copyright (c) 2002-2003 Alexis Grandemange

This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public License
 as published by the Free Software Foundation; version 2.1 of the
 License.
 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU Lesser General Public License for more details.
 A copy of the GNU Lesser General Public License lesser.txt should be
 included in the distribution.

Version:
0, 0, 2
Author:
Alexis Grandemange

Field Summary
(package private)  java.lang.String classDir
          class directory
(package private)  java.util.HashMap classes
          Class cache Key: class name Value: Class object
(package private)  PageBoxLib.LogIF log
          Logging object
(package private)  java.lang.ClassLoader parent
          Class loader of the class that instantiates CheckClassLoader.
 
Fields inherited from class java.lang.ClassLoader
 
Constructor Summary
CheckClassLoader(java.lang.String classDir, java.lang.ClassLoader parent, PageBoxLib.LogIF log)
          Constructor.
 
Method Summary
 java.lang.Class loadClass(java.lang.String name, boolean resolve)
          Loads a class.
private  java.lang.Class loadForward(java.lang.String name)
          Retrieve classes from parent class loaders.
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, 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
 

Field Detail

classDir

java.lang.String classDir
class directory


classes

java.util.HashMap classes
Class cache


parent

java.lang.ClassLoader parent
Class loader of the class that instantiates CheckClassLoader.


log

PageBoxLib.LogIF log
Logging object

Constructor Detail

CheckClassLoader

public CheckClassLoader(java.lang.String classDir,
                        java.lang.ClassLoader parent,
                        PageBoxLib.LogIF log)
Constructor.

Parameters:
classDir - directory where to find classes
parent - class loader of the class that instantiates CheckClassLoader
log - logging object
Method Detail

loadForward

private final java.lang.Class loadForward(java.lang.String name)
                                   throws java.lang.ClassNotFoundException
Retrieve classes from parent class loaders.

Parameters:
name - class name
Returns:
Class object
java.lang.ClassNotFoundException

loadClass

public java.lang.Class loadClass(java.lang.String name,
                                 boolean resolve)
                          throws java.lang.ClassNotFoundException
Loads a class.

Overrides:
loadClass in class java.lang.ClassLoader
Parameters:
name - class name
resolve - true if the class must be resolved
Returns:
Class object
java.lang.ClassNotFoundException