Package javassist

# Class ClassClassPath

java.lang.Object
javassist.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 Summary

Constructors
Constructor
Description
`ClassClassPath(Class<?> c)`
Creates a search path.

## Method Summary

Modifier and Type
Method
Description
`URL`
`find(String classname)`
Obtains the URL of the specified class file.
`InputStream`
`openClassfile(String classname)`
Obtains a class file by `getResourceAsStream()`.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### 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 Details

### openClassfile

public InputStream openClassfile(String classname) throws NotFoundException
Obtains a class file by `getResourceAsStream()`.

Specified by:
  `openClassfile` in interface `ClassPath`
Parameters:
  `classname` - a fully-qualified class name
Returns:
  the input stream for reading a class file
Throws:
  `NotFoundException`
See Also:
  - `Translator`

### 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.

### toString

public String toString()

Overrides:
  `toString` in class `Object`