com.claritysys.util
Class ClasspathScanner

java.lang.Object
  extended by com.claritysys.util.ClasspathScanner

public final class ClasspathScanner
extends java.lang.Object

Scans a given classpath, searching through every JAR, ZIP, or directory for classes. It avoids using Class.forName() and instead loads the raw bytes of the .class files and analyzes them directly.

Version:
$Revision: 2348 $

Nested Class Summary
static class ClasspathScanner.ClassFile
           
 
Constructor Summary
ClasspathScanner()
           
 
Method Summary
 java.util.List getList()
          Return List of ClasspathScanner.ClassFile.
 boolean inDesiredPackage(java.lang.String fileName)
           
static void main(java.lang.String[] args)
          Run from command line.
 void reset()
           
 java.util.List scanPath(java.io.File baseDir, java.lang.String path, java.lang.String packages, java.lang.String iface)
          Return list of ClasspathScanner.ClassFile.
 void setPackages(java.lang.String packages)
          Optional list of package filters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClasspathScanner

public ClasspathScanner()
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Run from command line.

Throws:
java.io.IOException

reset

public void reset()

getList

public java.util.List getList()
Return List of ClasspathScanner.ClassFile.

Returns:

scanPath

public java.util.List scanPath(java.io.File baseDir,
                               java.lang.String path,
                               java.lang.String packages,
                               java.lang.String iface)
                        throws java.io.IOException
Return list of ClasspathScanner.ClassFile.

Parameters:
path -
packages -
Returns:
Throws:
java.io.IOException

inDesiredPackage

public boolean inDesiredPackage(java.lang.String fileName)

setPackages

public void setPackages(java.lang.String packages)
Optional list of package filters.

Use strict package name for exact match.

Use package name plus ".*" to match that package or any subpackage.

Use "*" to match all packages.

Parameters:
packages -


Copyright ? 2002 Clarity Systems Group, LLC. All Rights Reserved.