public class SyntheticRepository extends java.lang.Object implements Repository
Repository
,
Serialized FormModifier and Type | Field and Description |
---|---|
private static java.util.Map |
_instances |
private java.util.Map |
_loadedClasses |
private ClassPath |
_path |
private static java.lang.String |
DEFAULT_PATH |
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 java.lang.String DEFAULT_PATH
private static java.util.Map _instances
private ClassPath _path
private java.util.Map _loadedClasses
private SyntheticRepository(ClassPath path)
public static SyntheticRepository getInstance()
public static SyntheticRepository getInstance(ClassPath classPath)
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