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 static java.lang.String
NAME_EMPTY_PACKAGE
Name of the empty packageprivate java.lang.String
packageName
private java.lang.String
packageNamePath
-
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)
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)
Factory method to create an instance of URLPackageScanner in the default packagestatic 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
-
NAME_EMPTY_PACKAGE
private static final java.lang.String NAME_EMPTY_PACKAGE
Name of the empty package- 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
-
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 addedpkg
- Package that will be scanned- Returns:
- new instance of URLPackageScanner
-
newInstance
public static URLPackageScanner newInstance(boolean addRecursively, java.lang.ClassLoader classLoader, URLPackageScanner.Callback callback)
Factory method to create an instance of URLPackageScanner in the default package- Parameters:
pkg
- Package that will be scannedaddRecursively
- flag to add child packagesclassLoader
- class loader that will have classes added- 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)
-
loadResources
private java.util.List<java.net.URL> loadResources(java.lang.String name) throws java.io.IOException
- Throws:
java.io.IOException
-
-