## org.apache.bcel
Class Repository

    java.lang.Object
      |
      +--org.apache.bcel.Repository

public abstract class Repository
extends java.lang.Object

The repository maintains informations about class interdependencies, e.g., whether a class is a sub-class of another. Delegates actual class loading to SyntheticRepository with current class path by default.

Version:
  $Id: Repository.java,v 1.11 2002/10/11 20:34:47 mdahm Exp $
Author:
  M. Dahm
See Also:
  `Repository`, `SyntheticRepository`

Constructor Summary
`Repository()`

Method Summary
`static JavaClass` `addClass(JavaClass clazz)` Add clazz to repository if there isn't an equally named class already in there.
`static void` `clearCache()` Clear the repository.
`static JavaClass[]` `getInterfaces(JavaClass clazz)`
`static JavaClass[]` `getInterfaces(java.lang.String class_name)`
`static Repository` `getRepository()`
`static JavaClass[]` `getSuperClasses(JavaClass clazz)`
`static JavaClass[]` `getSuperClasses(java.lang.String class_name)`
`static boolean` `implementationOf(JavaClass clazz, JavaClass inter)`
`static boolean` `implementationOf(JavaClass clazz, java.lang.String inter)`
`static boolean` `implementationOf(java.lang.String clazz, JavaClass inter)`
`static boolean` `implementationOf(java.lang.String clazz, java.lang.String inter)`
`static boolean` `instanceOf(JavaClass clazz, JavaClass super_class)` Equivalent to runtime "instanceof" operator.
`static boolean` `instanceOf(JavaClass clazz, java.lang.String super_class)`
`static boolean` `instanceOf(java.lang.String clazz, JavaClass super_class)`
`static boolean` `instanceOf(java.lang.String clazz, java.lang.String super_class)`
`static JavaClass` `lookupClass(java.lang.Class clazz)` Try to find class source via getResourceAsStream().
`static JavaClass` `lookupClass(java.lang.String class_name)` Lookup class somewhere found on your CLASSPATH, or whereever the repository instance looks for it.
`static ClassPath.ClassFile` `lookupClassFile(java.lang.String class_name)`
`static void` `removeClass(JavaClass clazz)` Remove given class from repository.
`static void` `removeClass(java.lang.String clazz)` Remove class with given (fully qualified) name from repository.
`static void` `setRepository(Repository rep)` Set repository instance to be used for class loading

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Repository

    public Repository()

Method Detail

### getRepository

    public static Repository getRepository()

  Returns:
    currently used repository instance

### setRepository

    public static void setRepository(Repository rep)

  Set repository instance to be used for class loading

### lookupClass

    public static JavaClass lookupClass(java.lang.String class_name)

  Lookup class somewhere found on your CLASSPATH, or whereever the repository instance looks for it.

  Returns:
    class object for given fully qualified class name, or null if the class could not be found or parsed correctly

### lookupClass

    public static JavaClass lookupClass(java.lang.Class clazz)

  Try to find class source via getResourceAsStream().

  Returns:
    JavaClass object for given runtime class
  See Also:
    `Class`

### lookupClassFile

    public static ClassPath.ClassFile lookupClassFile(java.lang.String class_name)

  Returns:
    class file object for given Java class.

### clearCache

    public static void clearCache()

  Clear the repository.

### addClass

    public static JavaClass addClass(JavaClass clazz)

  Add clazz to repository if there isn't an equally named class already in there.

  Returns:
    old entry in repository

### removeClass

    public static void removeClass(java.lang.String clazz)

  Remove class with given (fully qualified) name from repository.

### removeClass

    public static void removeClass(JavaClass clazz)

  Remove given class from repository.

### getSuperClasses

    public static JavaClass[] getSuperClasses(JavaClass clazz)

  Returns:
    list of super classes of clazz in ascending order, i.e., Object is always the last element

### getSuperClasses

    public static JavaClass[] getSuperClasses(java.lang.String class_name)

  Returns:
    list of super classes of clazz in ascending order, i.e., Object is always the last element. return "null", if class cannot be found.

### getInterfaces

    public static JavaClass[] getInterfaces(JavaClass clazz)

  Returns:
    all interfaces implemented by class and its super classes and the interfaces that those interfaces extend, and so on. (Some people call this a transitive hull).

### getInterfaces

    public static JavaClass[] getInterfaces(java.lang.String class_name)

  Returns:
    all interfaces implemented by class and its super classes and the interfaces that extend those interfaces, and so on

### instanceOf

    public static boolean instanceOf(JavaClass clazz,
                                     JavaClass super_class)

  Equivalent to runtime "instanceof" operator.

  Returns:
    true, if clazz is an instance of super_class

### instanceOf

    public static boolean instanceOf(java.lang.String clazz,
                                     java.lang.String super_class)

  Returns:
    true, if clazz is an instance of super_class

### instanceOf

    public static boolean instanceOf(JavaClass clazz,
                                     java.lang.String super_class)

  Returns:
    true, if clazz is an instance of super_class

### instanceOf

    public static boolean instanceOf(java.lang.String clazz,
                                     JavaClass super_class)

  Returns:
    true, if clazz is an instance of super_class

### implementationOf

    public static boolean implementationOf(JavaClass clazz,
                                           JavaClass inter)

  Returns:
    true, if clazz is an implementation of interface inter

### implementationOf

    public static boolean implementationOf(java.lang.String clazz,
                                           java.lang.String inter)

  Returns:
    true, if clazz is an implementation of interface inter

### implementationOf

    public static boolean implementationOf(JavaClass clazz,
                                           java.lang.String inter)

  Returns:
    true, if clazz is an implementation of interface inter

### implementationOf

    public static boolean implementationOf(java.lang.String clazz,
                                           JavaClass inter)

  Returns:
    true, if clazz is an implementation of interface inter

Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.