Class ClassFinder

java.lang.Object
org.apache.xbean.finder.AbstractFinder
org.apache.xbean.finder.ClassFinder
All Implemented Interfaces:
IAnnotationFinder

public class ClassFinder extends AbstractFinder
ClassFinder searches the classpath of the specified classloader for packages, classes, constructors, methods, or fields with specific annotations. For security reasons ASM is used to find the annotations. Classes are not loaded unless they match the requirements of a called findAnnotated* method. Once loaded, these classes are cached. The getClassesNotLoaded() method can be used immediately after any find* method to get a list of classes which matched the find requirements (i.e. contained the annotation), but were unable to be loaded.
Version:
$Rev: 1778104 $ $Date: 2017-01-10 11:05:25 +0100 (Tue, 10 Jan 2017) $
  • Field Details

  • Constructor Details

    • ClassFinder

      public ClassFinder(ClassLoader classLoader) throws Exception
      Creates a ClassFinder that will search the urls in the specified classloader excluding the urls in the classloader's parent. To include the parent classloader, use: new ClassFinder(classLoader, false); To exclude the parent's parent, use: new ClassFinder(classLoader, classLoader.getParent().getParent());
      Parameters:
      classLoader - source of classes to scan
      Throws:
      Exception - if something goes wrong
    • ClassFinder

      public ClassFinder(ClassLoader classLoader, boolean excludeParent) throws Exception
      Creates a ClassFinder that will search the urls in the specified classloader.
      Parameters:
      classLoader - source of classes to scan
      excludeParent - Allegedly excludes classes from parent classloader, whatever that might mean
      Throws:
      Exception - if something goes wrong.
    • ClassFinder

      public ClassFinder(ClassLoader classLoader, ClassLoader exclude) throws Exception
      Creates a ClassFinder that will search the urls in the specified classloader excluding the urls in the 'exclude' classloader.
      Parameters:
      classLoader - source of classes to scan
      exclude - source of classes to exclude from scanning
      Throws:
      Exception - if something goes wrong
    • ClassFinder

      public ClassFinder(ClassLoader classLoader, URL url)
    • ClassFinder

      public ClassFinder(ClassLoader classLoader, Collection<URL> urls)
    • ClassFinder

      public ClassFinder(Class<?>... classes)
    • ClassFinder

      public ClassFinder(List<Class<?>> classes)
  • Method Details