Module openj9.dtfj

Interface JavaClassLoader

  • All Known Implementing Classes:
    DTFJJavaClassloader, JavaClassLoader, JCJavaClassLoader

    public interface JavaClassLoader

    Represents an internal ClassLoader structure within a Java VM instance. For most ClassLoaders there is a corresponding java.lang.ClassLoader object within with JavaRuntime. For primordial class loaders such as the bootstrap class loader, there may or may not be a corresponding java.lang.ClassLoader instance.

    Since Java does not define any strict inheritance structure between class loaders, there are no APIs for inspecting 'child' or 'parent' class loaders. This information may be inferred by inspecting the corresponding java.lang.ClassLoader instance.

    See Also:
    ClassLoader
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean equals​(Object obj)
      Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
      JavaClass findClass​(String name)
      Find a named class within this class loader.
      Iterator getCachedClasses()
      When a ClassLoader successfully delegates a findClass() request to another ClassLoader, the result of the delegation must be cached within the internal structure so that the VM does not make repeated requests for the same class.
      Iterator getDefinedClasses()
      Get the set of classes which are defined in this JavaClassLoader.
      JavaObject getObject()
      Get the java.lang.ClassLoader instance associated with this class loader.
      int hashCode()
      Answers an integer hash code for the receiver.
    • Method Detail

      • getDefinedClasses

        Iterator getDefinedClasses()
        Get the set of classes which are defined in this JavaClassLoader.
        Returns:
        an iterator over the collection of classes which are defined in this JavaClassLoader
        See Also:
        JavaClass, CorruptData
      • getCachedClasses

        Iterator getCachedClasses()
        When a ClassLoader successfully delegates a findClass() request to another ClassLoader, the result of the delegation must be cached within the internal structure so that the VM does not make repeated requests for the same class.
        Returns:
        an iterator over the collection of classes which are defined in this JavaClassLoader or which were found by delegation to other JavaClassLoaders
        See Also:
        JavaClass, CorruptData
      • findClass

        JavaClass findClass​(String name)
                     throws CorruptDataException
        Find a named class within this class loader. The class may have been defined in this class loader, or this class loader may have delegated the load to another class loader and cached the result.
        Parameters:
        name - of the class to find. Packages should be separated by '/' instead of '.'
        Returns:
        the JavaClass instance, or null if it is not found
        Throws:
        CorruptDataException
      • getObject

        JavaObject getObject()
                      throws CorruptDataException
        Get the java.lang.ClassLoader instance associated with this class loader.
        Returns:
        a JavaObject representing the java.lang.ClassLoader instance associated with this class loader, or null if there is no Java class loader associated with this low-level class loader.
        Throws:
        CorruptDataException
        See Also:
        JavaObject, ClassLoader
      • equals

        boolean equals​(Object obj)
        Description copied from class: java.lang.Object
        Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison. The implementation in Object answers true only if the argument is the exact same object as the receiver (==).
        Overrides:
        equals in class Object
        Parameters:
        obj -
        Returns:
        True if the given object refers to the same Java Class Loader in the image
        See Also:
        Object.hashCode()
      • hashCode

        int hashCode()
        Description copied from class: java.lang.Object
        Answers an integer hash code for the receiver. Any two objects which answer true when passed to .equals must answer the same value for this method.
        Overrides:
        hashCode in class Object
        Returns:
        the receiver's hash.
        See Also:
        Object.equals(java.lang.Object)