Class ClassLoaderRepository

java.lang.Object
org.aspectj.apache.bcel.util.ClassLoaderRepository
All Implemented Interfaces:
Repository

public class ClassLoaderRepository extends 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,v 1.13 2009/09/09 19:56:20 aclement Exp $
Author:
M. Dahm, David Dixon-Peugh
See Also:
Repository
  • Field Details

    • useSharedCache

      public static boolean useSharedCache
  • Constructor Details

    • ClassLoaderRepository

      public ClassLoaderRepository(ClassLoader loader)
    • ClassLoaderRepository

      public ClassLoaderRepository(ClassLoaderReference loaderRef)
  • Method Details

    • 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(String className)
      Find an already defined JavaClass in the local cache.
      Specified by:
      findClass in interface Repository
    • loadClass

      public JavaClass loadClass(String className) throws ClassNotFoundException
      Lookup a JavaClass object from the Class Name provided.
      Specified by:
      loadClass in interface Repository
      Throws:
      ClassNotFoundException
    • report

      public String report()
      Produce a report on cache usage.
    • reportStats

      public long[] reportStats()
      Returns an array of the stats, for testing, the order is fixed: 0=time spent loading (static) 1=time spent manipulating URLs (static) 2=classes loaded (static) 3=cache hits shared (static) 4=misses in shared due to eviction (static) 5=cache hits local 6=misses in local due to eviction 7=shared cache size
    • reset

      public void reset()
      Reset statistics and clear all caches
    • loadClass

      public JavaClass loadClass(Class clazz) throws ClassNotFoundException
      Description copied from interface: Repository
      Find the JavaClass instance for the given run-time class object
      Specified by:
      loadClass in interface Repository
      Throws:
      ClassNotFoundException
    • clear

      public void clear()
      Clear all entries from the local cache
      Specified by:
      clear in interface Repository