Package javassist

Class ClassClassPath

  • All Implemented Interfaces:
    ClassPath

    public class ClassClassPath
    extends Object
    implements ClassPath
    A search-path for obtaining a class file by getResourceAsStream() in java.lang.Class.

    Try adding a ClassClassPath when a program is running with a user-defined class loader and any class files are not found with the default ClassPool. For example,

     ClassPool cp = ClassPool.getDefault();
     cp.insertClassPath(new ClassClassPath(this.getClass()));
     
    This code snippet permanently adds a ClassClassPath to the default ClassPool. Note that the default ClassPool is a singleton. The added ClassClassPath uses a class object representing the class including the code snippet above.

    Class files in a named module are private to that module. This method cannot obtain class files in named modules.

    See Also:
    ClassPool.insertClassPath(ClassPath), ClassPool.appendClassPath(ClassPath), LoaderClassPath
    • Constructor Detail

      • ClassClassPath

        public ClassClassPath​(Class<?> c)
        Creates a search path.
        Parameters:
        c - the Class object used to obtain a class file. getResourceAsStream() is called on this object.
    • Method Detail

      • find

        public URL find​(String classname)
        Obtains the URL of the specified class file.
        Specified by:
        find in interface ClassPath
        Parameters:
        classname - a fully-qualified class name.
        Returns:
        null if the class file could not be found.