public class ClassPathRepository extends java.lang.Object implements Repository
Repository
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,JavaClass> |
_loadedClasses |
private ClassPath |
_path |
Constructor and Description |
---|
ClassPathRepository(ClassPath path) |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clear all entries from cache.
|
JavaClass |
findClass(java.lang.String className)
Find an already defined (cached) JavaClass object by name.
|
ClassPath |
getClassPath()
ClassPath associated with the Repository.
|
JavaClass |
loadClass(java.lang.Class<?> clazz)
Find the JavaClass object for a runtime Class object.
|
private JavaClass |
loadClass(java.io.InputStream is,
java.lang.String className) |
JavaClass |
loadClass(java.lang.String className)
Find a JavaClass object by name.
|
void |
removeClass(JavaClass clazz)
Remove class from repository
|
void |
storeClass(JavaClass clazz)
Store a new JavaClass instance into this Repository.
|
private ClassPath _path
private final java.util.Map<java.lang.String,JavaClass> _loadedClasses
public ClassPathRepository(ClassPath path)
public void storeClass(JavaClass clazz)
storeClass
in interface Repository
public void removeClass(JavaClass clazz)
removeClass
in interface Repository
public JavaClass findClass(java.lang.String className)
findClass
in interface Repository
public JavaClass loadClass(java.lang.String className) throws java.lang.ClassNotFoundException
loadClass
in interface Repository
className
- the name of the classjava.lang.ClassNotFoundException
- if the class is not in the Repository, and could not be found on the classpathpublic JavaClass loadClass(java.lang.Class<?> clazz) throws java.lang.ClassNotFoundException
loadClass
in interface Repository
clazz
- the runtime Class objectjava.lang.ClassNotFoundException
- if the class is not in the Repository, and its representation could not be foundClass
private JavaClass loadClass(java.io.InputStream is, java.lang.String className) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public ClassPath getClassPath()
getClassPath
in interface Repository
public void clear()
clear
in interface Repository