Package org.apache.bcel.util
Class LruCacheClassPathRepository
java.lang.Object
org.apache.bcel.util.AbstractClassPathRepository
org.apache.bcel.util.LruCacheClassPathRepository
- All Implemented Interfaces:
Repository
Maintains a least-recently-used (LRU) cache of
JavaClass
with maximum size cacheSize
.
This repository supports a class path consisting of too many JAR files to handle in ClassPathRepository
or
MemorySensitiveClassPathRepository
without causing OutOfMemoryError
.
- Since:
- 6.4.0
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clears all entries from cache.Finds the class with the name provided, if the class isn't there, return NULL.void
removeClass
(JavaClass javaClass) Removes class from repositoryvoid
storeClass
(JavaClass javaClass) Stores the provided class under "clazz.getClassName()"Methods inherited from class org.apache.bcel.util.AbstractClassPathRepository
getClassPath, loadClass, loadClass
-
Field Details
-
loadedClasses
-
-
Constructor Details
-
LruCacheClassPathRepository
-
-
Method Details
-
clear
public void clear()Description copied from interface:Repository
Clears all entries from cache.- Specified by:
clear
in interfaceRepository
- Specified by:
clear
in classAbstractClassPathRepository
-
findClass
Description copied from interface:Repository
Finds the class with the name provided, if the class isn't there, return NULL.- Specified by:
findClass
in interfaceRepository
- Specified by:
findClass
in classAbstractClassPathRepository
-
removeClass
Description copied from interface:Repository
Removes class from repository- Specified by:
removeClass
in interfaceRepository
- Specified by:
removeClass
in classAbstractClassPathRepository
-
storeClass
Description copied from interface:Repository
Stores the provided class under "clazz.getClassName()"- Specified by:
storeClass
in interfaceRepository
- Specified by:
storeClass
in classAbstractClassPathRepository
-