|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.bcel.util.SyntheticRepository
public class SyntheticRepository
This repository is used in situations where a Class is created
outside the realm of a ClassLoader. Classes are loaded from
the file systems using the paths specified in the given
class path. By default, this is the value returned by
ClassPath.getClassPath().
It is designed to be used as a singleton, however it
can also be used with custom classpaths.
/**
Abstract definition of a class repository. Instances may be used
to load classes from different sources and may be used in the
Repository.setRepository method.
Repository
,
Serialized FormField Summary | |
---|---|
private static java.util.Map |
_instances
|
private java.util.Map |
_loadedClasses
|
private ClassPath |
_path
|
private static java.lang.String |
DEFAULT_PATH
|
Constructor Summary | |
---|---|
private |
SyntheticRepository(ClassPath path)
|
Method Summary | |
---|---|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String DEFAULT_PATH
private static java.util.Map _instances
private ClassPath _path
private java.util.Map _loadedClasses
Constructor Detail |
---|
private SyntheticRepository(ClassPath path)
Method Detail |
---|
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 class
java.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 object
java.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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |