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

public Class MemorySensitiveClassPathRepository

extends AbstractClassPathRepository
Class Inheritance
Known Direct Subclasses
org.apache.bcel.util.SyntheticRepository
Imports
java.lang.ref.SoftReference, java.util.HashMap, .Map, org.apache.bcel.classfile.JavaClass

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
org.apache.bcel.Repository

Field Summary

Modifier and TypeField and Description
private final Map<String, SoftReference<JavaClass>>

Constructor Summary

AccessConstructor and Description
public

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.

Clear 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.

Find an already defined (cached) JavaClass object by name.
public void
public void
storeClass(final JavaClass clazz)

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

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

Store a new JavaClass instance into this Repository.
Inherited from org.apache.bcel.util.AbstractClassPathRepository:
getClassPathloadClassloadClass

Field Detail

loadedClassesback to summary
private final Map<String, SoftReference<JavaClass>> loadedClasses

Constructor Detail

MemorySensitiveClassPathRepositoryback to summary
public MemorySensitiveClassPathRepository(final ClassPath path)

Method Detail

clearback to summary
public void clear()

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

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

Clear 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.

Find an already defined (cached) JavaClass object by name.

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

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

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

Remove class from repository

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

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

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

Store a new JavaClass instance into this Repository.

Annotations
@Override