org.getopt.luke
Class ClassFinder

java.lang.Object
  extended by org.getopt.luke.ClassFinder

public final class ClassFinder
extends java.lang.Object

This class finds classes that implement one or more specified interfaces.

Version:
$Revision: 1.9 $
Author:
Burt Beckwith, Michael Stover (mstover1 at apache.org)

Method Summary
static java.util.List findClassesThatExtend(java.lang.Class superClass)
          Convenience method that finds classes on the standard java classpath
static java.util.List findClassesThatExtend(java.lang.Class[] superClasses)
          Convenience method that finds classes on the standard java classpath
static java.util.List findClassesThatExtend(java.lang.String[] paths, java.lang.Class[] superClasses)
          Convenience method for findClassesThatExtend(Class[], boolean) with the option to include inner classes in the search set to false.
static java.util.List findClassesThatExtend(java.lang.String[] strPathsOrJars, java.lang.Class[] superClasses, boolean innerClasses)
           
static java.lang.Class[] getInstantiableSubclasses(java.lang.Class superclass)
          Convenience method to get a list of classes that can be instantiated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

findClassesThatExtend

public static java.util.List findClassesThatExtend(java.lang.String[] paths,
                                                   java.lang.Class[] superClasses)
                                            throws java.io.IOException,
                                                   java.lang.ClassNotFoundException
Convenience method for findClassesThatExtend(Class[], boolean) with the option to include inner classes in the search set to false.

Returns:
ArrayList containing discovered classes.
Throws:
java.io.IOException
java.lang.ClassNotFoundException

findClassesThatExtend

public static java.util.List findClassesThatExtend(java.lang.Class[] superClasses)
                                            throws java.io.IOException,
                                                   java.lang.ClassNotFoundException
Convenience method that finds classes on the standard java classpath

Parameters:
superClasses -
Returns:
Throws:
java.io.IOException
java.lang.ClassNotFoundException

findClassesThatExtend

public static java.util.List findClassesThatExtend(java.lang.Class superClass)
                                            throws java.io.IOException,
                                                   java.lang.ClassNotFoundException
Convenience method that finds classes on the standard java classpath

Parameters:
superClass -
Returns:
Throws:
java.io.IOException
java.lang.ClassNotFoundException

getInstantiableSubclasses

public static java.lang.Class[] getInstantiableSubclasses(java.lang.Class superclass)
                                                   throws java.io.IOException,
                                                          java.lang.ClassNotFoundException
Convenience method to get a list of classes that can be instantiated

Parameters:
superclass - an interface or base class
Returns:
Throws:
java.io.IOException
java.lang.ClassNotFoundException

findClassesThatExtend

public static java.util.List findClassesThatExtend(java.lang.String[] strPathsOrJars,
                                                   java.lang.Class[] superClasses,
                                                   boolean innerClasses)
                                            throws java.io.IOException,
                                                   java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException