public class SyntheticRepository extends java.lang.Object implements Repository
Repository,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
private static java.util.Map<ClassPath,SyntheticRepository> |
_instances |
private java.util.Map<java.lang.String,java.lang.ref.SoftReference<JavaClass>> |
_loadedClasses |
private ClassPath |
_path |
private static long |
serialVersionUID |
| Modifier | Constructor and Description |
|---|---|
private |
SyntheticRepository(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.
|
static SyntheticRepository |
getInstance() |
static SyntheticRepository |
getInstance(ClassPath classPath) |
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 static final long serialVersionUID
private static final java.util.Map<ClassPath,SyntheticRepository> _instances
private ClassPath _path
private java.util.Map<java.lang.String,java.lang.ref.SoftReference<JavaClass>> _loadedClasses
private SyntheticRepository(ClassPath path)
public static SyntheticRepository getInstance()
public static SyntheticRepository getInstance(ClassPath classPath)
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