org.apache.bcel.util
Class ClassLoaderRepository

java.lang.Object
  extended by org.apache.bcel.util.ClassLoaderRepository
All Implemented Interfaces:
java.io.Serializable, Repository

public class ClassLoaderRepository
extends java.lang.Object
implements Repository

The repository maintains information about which classes have been loaded. It loads its data from the ClassLoader implementation passed into its constructor.

Version:
$Id: ClassLoaderRepository.java 386056 2006-03-15 11:31:56Z tcurdt $
Author:
M. Dahm, David Dixon-Peugh
See Also:
Repository, Serialized Form

Field Summary
private  java.util.Map loadedClasses
           
private  java.lang.ClassLoader loader
           
 
Constructor Summary
ClassLoaderRepository(java.lang.ClassLoader loader)
           
 
Method Summary
 void clear()
          Clear all entries from cache.
 JavaClass findClass(java.lang.String className)
          Find an already defined JavaClass.
 ClassPath getClassPath()
          Get the ClassPath associated with this Repository
 JavaClass loadClass(java.lang.Class clazz)
          Find the JavaClass instance for the given run-time class object
 JavaClass loadClass(java.lang.String className)
          Lookup a JavaClass object from the Class Name provided.
 void removeClass(JavaClass clazz)
          Remove class from repository
 void storeClass(JavaClass clazz)
          Store a new JavaClass into this Repository.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

loader

private java.lang.ClassLoader loader

loadedClasses

private java.util.Map loadedClasses
Constructor Detail

ClassLoaderRepository

public ClassLoaderRepository(java.lang.ClassLoader loader)
Method Detail

storeClass

public void storeClass(JavaClass clazz)
Store a new JavaClass into this Repository.

Specified by:
storeClass in interface Repository

removeClass

public void removeClass(JavaClass clazz)
Remove class from repository

Specified by:
removeClass in interface Repository

findClass

public JavaClass findClass(java.lang.String className)
Find an already defined JavaClass.

Specified by:
findClass in interface Repository

loadClass

public JavaClass loadClass(java.lang.String className)
                    throws java.lang.ClassNotFoundException
Lookup a JavaClass object from the Class Name provided.

Specified by:
loadClass in interface Repository
Throws:
java.lang.ClassNotFoundException

loadClass

public JavaClass loadClass(java.lang.Class clazz)
                    throws java.lang.ClassNotFoundException
Description copied from interface: Repository
Find the JavaClass instance for the given run-time class object

Specified by:
loadClass in interface Repository
Throws:
java.lang.ClassNotFoundException

clear

public void clear()
Clear all entries from cache.

Specified by:
clear in interface Repository

getClassPath

public ClassPath getClassPath()
Description copied from interface: Repository
Get the ClassPath associated with this Repository

Specified by:
getClassPath in interface Repository