de.unihalle.informatik.Alida.helpers
Class SubclassFinder

java.lang.Object
  extended by de.unihalle.informatik.Alida.helpers.SubclassFinder

public class SubclassFinder
extends java.lang.Object

Utility-class with static methods to

The methods may fail to find a certain sub-class, if

Author:
Jan Grau, Jens Keilwagen

Constructor Summary
SubclassFinder()
           
 
Method Summary
static java.util.LinkedList<java.lang.Class> findInstantiableSubclasses(java.lang.Class clazz, java.lang.String startPackage)
          Returns all sub-classes of T that can be instantiated, i.e.
static java.util.LinkedList<java.lang.Class> findSubclasses(java.lang.Class clazz, java.lang.String startPackage)
          Returns all sub-classes of T including interfaces and abstract classes that are located in a package below startPackage.
static java.util.LinkedList<java.lang.Class> findSubclasses(java.lang.String prefix, java.lang.Class clazz, java.lang.String startPackage)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubclassFinder

public SubclassFinder()
Method Detail

findInstantiableSubclasses

public static java.util.LinkedList<java.lang.Class> findInstantiableSubclasses(java.lang.Class clazz,
                                                                               java.lang.String startPackage)
                                                                        throws java.lang.ClassNotFoundException,
                                                                               java.io.IOException
Returns all sub-classes of T that can be instantiated, i.e. are neither an interface nor abstract, and that are located in a package below startPackage.

Type Parameters:
T - The class to obtain the sub-classes for
Parameters:
clazz - the Class object for T
startPackage - the package under which to search
Returns:
the Class objects for the sub-classes
Throws:
java.lang.ClassNotFoundException - if one of the classes is present in the file system or jar but cannot be loaded by the class loader
java.io.IOException - is thrown if the classes are searched for in a jar file, but that file could not be accessed or read

findSubclasses

public static java.util.LinkedList<java.lang.Class> findSubclasses(java.lang.Class clazz,
                                                                   java.lang.String startPackage)
                                                            throws java.lang.ClassNotFoundException,
                                                                   java.io.IOException
Returns all sub-classes of T including interfaces and abstract classes that are located in a package below startPackage.

Type Parameters:
T - The class to obtain the sub-classes for
Parameters:
clazz - the Class object for T
startPackage - the package under which to search
Returns:
the Class objects for the sub-classes
Throws:
java.lang.ClassNotFoundException - if one of the classes is present in the file system or jar but cannot be loaded by the class loader
java.io.IOException - is thrown if the classes are searched for in a jar file, but that file could not be accessed or read

findSubclasses

public static java.util.LinkedList<java.lang.Class> findSubclasses(java.lang.String prefix,
                                                                   java.lang.Class clazz,
                                                                   java.lang.String startPackage)
                                                            throws java.lang.ClassNotFoundException,
                                                                   java.io.IOException
Throws:
java.lang.ClassNotFoundException
java.io.IOException


Copyright © 2010-2014 Martin Luther University Halle-Wittenberg. All Rights Reserved.