Apache CXF API

org.apache.cxf.common.util
Class ClasspathScanner

java.lang.Object
  extended by org.apache.cxf.common.util.ClasspathScanner

public class ClasspathScanner
extends Object


Field Summary
static String ALL_CLASS_FILES
           
static String ALL_FILES
           
static String ALL_PACKAGES
           
static String CLASSPATH_URL_SCHEME
           
 
Constructor Summary
protected ClasspathScanner()
           
 
Method Summary
static Map<Class<? extends Annotation>,Collection<Class<?>>> findClasses(Collection<String> basePackages, Class<? extends Annotation>... annotations)
          Scans list of base packages for all classes marked with specific annotations.
static Map<Class<? extends Annotation>,Collection<Class<?>>> findClasses(Collection<String> basePackages, List<Class<? extends Annotation>> annotations)
          Scans list of base packages for all classes marked with specific annotations.
static Map<Class<? extends Annotation>,Collection<Class<?>>> findClasses(String basePackage, Class<? extends Annotation>... annotations)
          Scans list of base packages for all classes marked with specific annotations.
protected  Map<Class<? extends Annotation>,Collection<Class<?>>> findClassesInternal(Collection<String> basePackages, List<Class<? extends Annotation>> annotations)
           
static List<URL> findResources(Collection<String> basePackages, String extension)
          Scans list of base packages for all resources with the given extension.
static List<URL> findResources(String basePackage, String extension)
          Scans list of base packages for all resources with the given extension.
protected  List<URL> findResourcesInternal(Collection<String> basePackages, String extension)
           
static Set<String> parsePackages(String packagesAsCsv)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALL_FILES

public static final String ALL_FILES
See Also:
Constant Field Values

ALL_CLASS_FILES

public static final String ALL_CLASS_FILES
See Also:
Constant Field Values

ALL_PACKAGES

public static final String ALL_PACKAGES
See Also:
Constant Field Values

CLASSPATH_URL_SCHEME

public static final String CLASSPATH_URL_SCHEME
See Also:
Constant Field Values
Constructor Detail

ClasspathScanner

protected ClasspathScanner()
Method Detail

findClasses

public static Map<Class<? extends Annotation>,Collection<Class<?>>> findClasses(String basePackage,
                                                                                Class<? extends Annotation>... annotations)
                                                                         throws IOException,
                                                                                ClassNotFoundException
Scans list of base packages for all classes marked with specific annotations.

Parameters:
basePackage - base package
annotations - annotations to discover
Returns:
all discovered classes grouped by annotations they belong too
Throws:
IOException - class metadata is not readable
ClassNotFoundException - class not found

findClasses

public static Map<Class<? extends Annotation>,Collection<Class<?>>> findClasses(Collection<String> basePackages,
                                                                                Class<? extends Annotation>... annotations)
                                                                         throws IOException,
                                                                                ClassNotFoundException
Scans list of base packages for all classes marked with specific annotations.

Parameters:
basePackages - list of base packages
annotations - annotations to discover
Returns:
all discovered classes grouped by annotations they belong too
Throws:
IOException - class metadata is not readable
ClassNotFoundException - class not found

findClasses

public static Map<Class<? extends Annotation>,Collection<Class<?>>> findClasses(Collection<String> basePackages,
                                                                                List<Class<? extends Annotation>> annotations)
                                                                         throws IOException,
                                                                                ClassNotFoundException
Scans list of base packages for all classes marked with specific annotations.

Parameters:
basePackages - list of base packages
annotations - annotations to discover
Returns:
all discovered classes grouped by annotations they belong too
Throws:
IOException - class metadata is not readable
ClassNotFoundException - class not found

findClassesInternal

protected Map<Class<? extends Annotation>,Collection<Class<?>>> findClassesInternal(Collection<String> basePackages,
                                                                                    List<Class<? extends Annotation>> annotations)
                                                                             throws IOException,
                                                                                    ClassNotFoundException
Throws:
IOException
ClassNotFoundException

findResources

public static List<URL> findResources(String basePackage,
                                      String extension)
                               throws IOException
Scans list of base packages for all resources with the given extension.

Parameters:
basePackage - base package
extension - the extension matching resources needs to have
Returns:
list of all discovered resource URLs
Throws:
IOException - resource is not accessible

findResources

public static List<URL> findResources(Collection<String> basePackages,
                                      String extension)
                               throws IOException
Scans list of base packages for all resources with the given extension.

Parameters:
basePackages - list of base packages
extension - the extension matching resources needs to have
Returns:
list of all discovered resource URLs
Throws:
IOException - resource is not accessible

parsePackages

public static Set<String> parsePackages(String packagesAsCsv)

findResourcesInternal

protected List<URL> findResourcesInternal(Collection<String> basePackages,
                                          String extension)
                                   throws IOException
Throws:
IOException

Apache CXF API

Apache CXF