Package org.jboss.shrinkwrap.impl.base
Class URLPackageScanner
- java.lang.Object
-
- org.jboss.shrinkwrap.impl.base.URLPackageScanner
-
public class URLPackageScanner extends java.lang.Object
Implementation of scanner which can scan aURLClassLoader
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
URLPackageScanner.Callback
Callback interface for found classes.
-
Field Summary
Fields Modifier and Type Field Description private boolean
addRecursively
private URLPackageScanner.Callback
callback
private java.lang.ClassLoader
classLoader
private static java.util.logging.Logger
log
private java.lang.String
packageName
private java.lang.String
packageNamePath
private java.lang.String
prefix
private static java.lang.String
SUFFIX_CLASS
private static java.lang.String
WEB_INF_CLASSES_DIR
-
Constructor Summary
Constructors Modifier Constructor Description private
URLPackageScanner(java.lang.String packageName, boolean addRecursively, java.lang.ClassLoader classLoader, URLPackageScanner.Callback callback)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
foundClass(java.lang.String className, java.lang.String path)
private void
handle(java.io.File file, java.lang.String packageName)
private void
handle(java.util.Set<java.lang.String> paths)
private void
handleArchiveByFile(java.io.File file)
private java.util.List<java.net.URL>
loadResources(java.lang.String name)
static URLPackageScanner
newInstance(boolean addRecursively, java.lang.ClassLoader classLoader, URLPackageScanner.Callback callback, java.lang.String packageName)
Factory method to create an instance of URLPackageScanner.void
scanPackage()
-
-
-
Field Detail
-
log
private static final java.util.logging.Logger log
-
SUFFIX_CLASS
private static final java.lang.String SUFFIX_CLASS
- See Also:
- Constant Field Values
-
WEB_INF_CLASSES_DIR
private static final java.lang.String WEB_INF_CLASSES_DIR
- See Also:
- Constant Field Values
-
packageName
private final java.lang.String packageName
-
packageNamePath
private final java.lang.String packageNamePath
-
addRecursively
private final boolean addRecursively
-
classLoader
private final java.lang.ClassLoader classLoader
-
prefix
private java.lang.String prefix
-
callback
private URLPackageScanner.Callback callback
-
-
Constructor Detail
-
URLPackageScanner
private URLPackageScanner(java.lang.String packageName, boolean addRecursively, java.lang.ClassLoader classLoader, URLPackageScanner.Callback callback)
-
-
Method Detail
-
newInstance
public static URLPackageScanner newInstance(boolean addRecursively, java.lang.ClassLoader classLoader, URLPackageScanner.Callback callback, java.lang.String packageName)
Factory method to create an instance of URLPackageScanner.- Parameters:
addRecursively
- flag to add child packagesclassLoader
- class loader that will have classes addedcallback
- Callback to invoke when a matching class is foundpackageName
- Package that will be scanned- Returns:
- new instance of URLPackageScanner
-
scanPackage
public void scanPackage()
-
handleArchiveByFile
private void handleArchiveByFile(java.io.File file) throws java.io.IOException, java.lang.ClassNotFoundException
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
handle
private void handle(java.util.Set<java.lang.String> paths) throws java.io.IOException, java.lang.ClassNotFoundException
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
handle
private void handle(java.io.File file, java.lang.String packageName) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
foundClass
private void foundClass(java.lang.String className, java.lang.String path)
-
loadResources
private java.util.List<java.net.URL> loadResources(java.lang.String name) throws java.io.IOException
- Throws:
java.io.IOException
-
-