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

public Class SyntheticRepository

extends Object
implements Repository
Class Inheritance
All Implemented Interfaces
org.aspectj.apache.bcel.util.Repository
Imports
java.io.IOException, .InputStream, java.util.HashMap, .WeakHashMap, org.aspectj.apache.bcel.classfile.ClassParser, .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().
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.
Authors
M. Dahm, David Dixon-Peugh
Version
$Id: SyntheticRepository.java,v 1.8 2009/09/09 19:56:20 aclement Exp $
See Also
org.aspectj.apache.bcel.Repository

Field Summary

Modifier and TypeField and Description
private static HashMap<ClassPath, SyntheticRepository>
private WeakHashMap<String, JavaClass>
private ClassPath
private static final String

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
clear()

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

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

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

Find an already defined (cached) JavaClass object by name.
public static SyntheticRepository
public static SyntheticRepository
public JavaClass
loadClass(String className)

Implements org.aspectj.apache.bcel.util.Repository.loadClass.

Load a JavaClass object for the given class name using the CLASSPATH environment variable.
public JavaClass

Returns:

JavaClass object for given runtime class
loadClass
(Class<T> clazz)

Implements org.aspectj.apache.bcel.util.Repository.loadClass.

Try to find class source via getResourceAsStream().
private JavaClass
loadClass(InputStream is, String className)

public void
removeClass(JavaClass clazz)

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

Remove class from repository
public void
storeClass(JavaClass clazz)

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

Store a new JavaClass instance into this Repository.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_instancesback to summary
private static HashMap<ClassPath, SyntheticRepository> _instances
_loadedClassesback to summary
private WeakHashMap<String, JavaClass> _loadedClasses
_pathback to summary
private ClassPath _path
DEFAULT_PATHback to summary
private static final String DEFAULT_PATH

Constructor Detail

SyntheticRepositoryback to summary
private SyntheticRepository(ClassPath path)

Method Detail

clearback to summary
public void clear()

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

Clear all entries from cache.

findClassback to summary
public JavaClass findClass(String className)

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

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

getInstanceback to summary
public static SyntheticRepository getInstance()
getInstanceback to summary
public static SyntheticRepository getInstance(ClassPath classPath)
loadClassback to summary
public JavaClass loadClass(String className) throws ClassNotFoundException

Implements org.aspectj.apache.bcel.util.Repository.loadClass.

Load a JavaClass object for the given class name using the CLASSPATH environment variable.

loadClassback to summary
public JavaClass loadClass(Class<T> clazz) throws ClassNotFoundException

Implements org.aspectj.apache.bcel.util.Repository.loadClass.

Try to find class source via getResourceAsStream().

Returns:JavaClass

JavaClass object for given runtime class

See Also
Class
loadClassback to summary
private JavaClass loadClass(InputStream is, String className) throws ClassNotFoundException
removeClassback to summary
public void removeClass(JavaClass clazz)

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

Remove class from repository

storeClassback to summary
public void storeClass(JavaClass clazz)

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

Store a new JavaClass instance into this Repository.