Package javassist

# Interface ClassPath

All Known Implementing Classes:
  `ByteArrayClassPath`, `ClassClassPath`, `LoaderClassPath`, `URLClassPath`

public interface ClassPath
`ClassPath` is an interface implemented by objects representing a class search path. `ClassPool` uses those objects for reading class files.

The users can define a class implementing this interface so that a class file is obtained from a non-standard source.

See Also:
  - `ClassPool.insertClassPath(ClassPath)`
  - `ClassPool.appendClassPath(ClassPath)`
  - `ClassPool.removeClassPath(ClassPath)`

## Method Summary

Modifier and Type
Method
Description
`URL`
`find(String classname)`
Returns the uniform resource locator (URL) of the class file with the specified name.
`InputStream`
`openClassfile(String classname)`
Opens a class file.

## Method Details

### openClassfile

InputStream openClassfile(String classname) throws NotFoundException
Opens a class file. This method may be called just to examine whether the class file exists as well as to read the contents of the file.

This method can return null if the specified class file is not found. If null is returned, the next search path is examined. However, if an error happens, this method must throw an exception so that the search will be terminated.

This method should not modify the contents of the class file.

Parameters:
  `classname` - a fully-qualified class name
Returns:
  the input stream for reading a class file
Throws:
  `NotFoundException`
See Also:
  - `Translator`

### find

URL find(String classname)
Returns the uniform resource locator (URL) of the class file with the specified name.

Parameters:
  `classname` - a fully-qualified class name.
Returns:
  null if the specified class file could not be found.