Top Description Fields Constructors Methods
org.apache.bcel.util

public Class LruCacheClassPathRepository

extends AbstractClassPathRepository
Class Inheritance
Imports
java.util.LinkedHashMap, .Map, org.apache.bcel.classfile.JavaClass

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

Modifier and TypeField and Description
private final LinkedHashMap<String, JavaClass>

Constructor Summary

AccessConstructor and Description
public
LruCacheClassPathRepository(final ClassPath path, final int cacheSize)

Method Summary

Modifier and TypeMethod and Description
public void
clear()

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.clear.

Implements org.apache.bcel.util.Repository.clear.

Clears all entries from cache.
public JavaClass
findClass(final String className)

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.findClass.

Implements org.apache.bcel.util.Repository.findClass.

Finds the class with the name provided, if the class isn't there, return NULL.
public void
removeClass(final JavaClass javaClass)

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.removeClass.

Implements org.apache.bcel.util.Repository.removeClass.

Removes class from repository
public void
storeClass(final JavaClass javaClass)

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.storeClass.

Implements org.apache.bcel.util.Repository.storeClass.

Stores the provided class under "clazz.getClassName()"
Inherited from org.apache.bcel.util.AbstractClassPathRepository:
getClassPathloadClassloadClass

Field Detail

loadedClassesback to summary
private final LinkedHashMap<String, JavaClass> loadedClasses

Constructor Detail

LruCacheClassPathRepositoryback to summary
public LruCacheClassPathRepository(final ClassPath path, final int cacheSize)

Method Detail

clearback to summary
public void clear()

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.clear.

Implements org.apache.bcel.util.Repository.clear.

Doc from org.apache.bcel.util.Repository.clear.

Clears all entries from cache.

Annotations
@Override
findClassback to summary
public JavaClass findClass(final String className)

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.findClass.

Implements org.apache.bcel.util.Repository.findClass.

Doc from org.apache.bcel.util.Repository.findClass.

Finds the class with the name provided, if the class isn't there, return NULL.

Annotations
@Override
removeClassback to summary
public void removeClass(final JavaClass javaClass)

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.removeClass.

Implements org.apache.bcel.util.Repository.removeClass.

Doc from org.apache.bcel.util.Repository.removeClass.

Removes class from repository

Annotations
@Override
storeClassback to summary
public void storeClass(final JavaClass javaClass)

Implements abstract org.apache.bcel.util.AbstractClassPathRepository.storeClass.

Implements org.apache.bcel.util.Repository.storeClass.

Doc from org.apache.bcel.util.Repository.storeClass.

Stores the provided class under "clazz.getClassName()"

Annotations
@Override