public class MemorySensitiveClassPathRepository extends java.lang.Object implements Repository
Repository| Modifier and Type | Field and Description |
|---|---|
private java.util.Map<java.lang.String,java.lang.ref.SoftReference<JavaClass>> |
_loadedClasses |
private ClassPath |
_path |
| Constructor and Description |
|---|
MemorySensitiveClassPathRepository(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,java.lang.ref.SoftReference<JavaClass>> _loadedClasses
public MemorySensitiveClassPathRepository(ClassPath path)
public void storeClass(JavaClass clazz)
storeClass in interface Repositorypublic void removeClass(JavaClass clazz)
removeClass in interface Repositorypublic JavaClass findClass(java.lang.String className)
findClass in interface Repositorypublic JavaClass loadClass(java.lang.String className) throws java.lang.ClassNotFoundException
loadClass in interface RepositoryclassName - 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 Repositoryclazz - the runtime Class objectjava.lang.ClassNotFoundException - if the class is not in the Repository, and its representation could not be foundClassprivate JavaClass loadClass(java.io.InputStream is, java.lang.String className) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundExceptionpublic ClassPath getClassPath()
getClassPath in interface Repositorypublic void clear()
clear in interface Repository