Class ClassCache


  • public class ClassCache
    extends java.lang.Object
    A cache class for JavaClass objects, which enables us to quickly reference methods.
    Author:
    Doug Davis (dug@us.ibm.com), Glen Daniels (gdaniels@apache.org)
    • Constructor Summary

      Constructors 
      Constructor Description
      ClassCache()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void deregisterClass​(java.lang.String name)
      Remove an entry from the cache.
      boolean isClassRegistered​(java.lang.String name)
      Query a given class' cache status.
      JavaClass lookup​(java.lang.String className, java.lang.ClassLoader cl)
      Find the cached JavaClass entry for this class, creating one if necessary.
      void registerClass​(java.lang.String name, java.lang.Class cls)
      Register a class in the cache.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ClassCache

        public ClassCache()
    • Method Detail

      • registerClass

        public void registerClass​(java.lang.String name,
                                  java.lang.Class cls)
        Register a class in the cache. Creates a new JavaClass object around the given class, and inserts it into the Hashtable, replacing any previous entry.
        Parameters:
        name - the name of the class.
        cls - a Java Class.
      • deregisterClass

        public void deregisterClass​(java.lang.String name)
        Remove an entry from the cache.
        Parameters:
        name - the name of the class to remove.
      • isClassRegistered

        public boolean isClassRegistered​(java.lang.String name)
        Query a given class' cache status.
        Parameters:
        name - a class name
        Returns:
        true if the class is in the cache, false otherwise
      • lookup

        public JavaClass lookup​(java.lang.String className,
                                java.lang.ClassLoader cl)
                         throws java.lang.ClassNotFoundException
        Find the cached JavaClass entry for this class, creating one if necessary.
        Parameters:
        className - name of the class desired
        cl - ClassLoader to use if we need to load the class
        Returns:
        JavaClass entry
        Throws:
        java.lang.ClassNotFoundException