Package org.apache.bcel.util
Class MemorySensitiveClassPathRepository
java.lang.Object
org.apache.bcel.util.AbstractClassPathRepository
org.apache.bcel.util.MemorySensitiveClassPathRepository
- All Implemented Interfaces:
Repository
- Direct Known Subclasses:
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(). This repository holds onto classes with SoftReferences, and will reload as needed, in cases
where memory sizes are important.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear all entries from cache.Find an already defined (cached) JavaClass object by name.void
removeClass
(JavaClass clazz) Remove class from repositoryvoid
storeClass
(JavaClass clazz) Store a new JavaClass instance into this Repository.Methods inherited from class org.apache.bcel.util.AbstractClassPathRepository
getClassPath, loadClass, loadClass
-
Field Details
-
loadedClasses
-
-
Constructor Details
-
MemorySensitiveClassPathRepository
-
-
Method Details
-
clear
public void clear()Clear all entries from cache.- Specified by:
clear
in interfaceRepository
- Specified by:
clear
in classAbstractClassPathRepository
-
findClass
Find an already defined (cached) JavaClass object by name.- Specified by:
findClass
in interfaceRepository
- Specified by:
findClass
in classAbstractClassPathRepository
-
removeClass
Remove class from repository- Specified by:
removeClass
in interfaceRepository
- Specified by:
removeClass
in classAbstractClassPathRepository
-
storeClass
Store a new JavaClass instance into this Repository.- Specified by:
storeClass
in interfaceRepository
- Specified by:
storeClass
in classAbstractClassPathRepository
-