public class ClassScanner
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ClassScanner.EntryData
Provides input stream on demand.
|
Modifier and Type | Field and Description |
---|---|
protected boolean |
ignoreException
If set to
true exceptions for entry scans are ignored. |
protected boolean |
includeResources
If set to
true all files will be scanned and not only classes. |
protected InExRules<java.lang.String,java.lang.String,java.lang.String> |
rulesEntries |
protected InExRules<java.lang.String,java.lang.String,java.lang.String> |
rulesJars |
protected static java.lang.String[] |
systemJars
Array of system jars that are excluded from the search.
|
Constructor and Description |
---|
ClassScanner() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
acceptEntry(java.lang.String entryName)
Returns
true if some entry name has to be accepted. |
protected boolean |
acceptJar(java.io.File jarFile)
Returns
true if some JAR file has to be accepted. |
static byte[] |
bytecodeSignatureOfType(java.lang.Class type)
Returns type signature bytes used for searching in class file.
|
protected InExRules<java.lang.String,java.lang.String,java.lang.String> |
createEntriesRules() |
protected InExRules<java.lang.String,java.lang.String,java.lang.String> |
createJarRules()
Creates JAR rules.
|
ClassScanner |
excludeAllEntries(boolean whitelist)
Sets white/black list mode for entries.
|
ClassScanner |
excludeAllJars(boolean whitelist)
Sets white/black list mode for jars.
|
ClassScanner |
excludeEntries(java.lang.String... excludedEntries)
Sets excluded names that narrows included set of packages.
|
ClassScanner |
excludeJars(java.lang.String... excludedJars)
Specify excluded jars.
|
static ClassScanner |
get() |
ClassScanner |
ignoreException(boolean ignoreException)
Sets if exceptions during scanning process should be ignored or not.
|
ClassScanner |
includeAllEntries(boolean blacklist)
Sets white/black list mode for entries.
|
ClassScanner |
includeAllJars(boolean blacklist)
Sets white/black list mode for jars.
|
ClassScanner |
includeEntries(java.lang.String... includedEntries)
Sets included set of names that will be considered during configuration.
|
ClassScanner |
includeJars(java.lang.String... includedJars)
Specify included jars.
|
ClassScanner |
includeResources(boolean includeResources) |
java.lang.Class |
loadClass(java.lang.String className)
Loads class by its name.
|
protected void |
onEntry(ClassScanner.EntryData entryData)
Called during classpath scanning when class or resource is found.
|
ClassScanner |
onEntry(java.util.function.Consumer<ClassScanner.EntryData> entryDataConsumer) |
protected java.lang.String |
prepareEntryName(java.lang.String name,
boolean isClass)
Prepares resource and class names.
|
ClassScanner |
resetPaths()
Resets all the paths previously added by some of
scan methods. |
ClassScanner |
scan(java.io.File... paths)
Scans provided paths.
|
ClassScanner |
scan(java.lang.String... paths)
Scans provided paths.
|
ClassScanner |
scan(java.net.URL... urls)
Scans URLs.
|
protected void |
scanClassFile(java.lang.String filePath,
java.lang.String rootPath,
java.io.File file,
boolean isClass) |
protected void |
scanClassPath(java.io.File root)
Scans single classpath directory.
|
ClassScanner |
scanDefaultClasspath()
Scans
default class path . |
protected void |
scanEntry(ClassScanner.EntryData entryData)
If entry name is
accepted invokes onEntry(EntryData) a callback}. |
protected void |
scanJarFile(java.io.File file)
Scans classes inside single JAR archive.
|
ClassScanner |
smartModeEntries() |
void |
start()
Starts with the scanner.
|
protected static java.lang.String[] systemJars
protected final InExRules<java.lang.String,java.lang.String,java.lang.String> rulesJars
protected final InExRules<java.lang.String,java.lang.String,java.lang.String> rulesEntries
protected boolean includeResources
true
all files will be scanned and not only classes.protected boolean ignoreException
true
exceptions for entry scans are ignored.public static ClassScanner get()
protected InExRules<java.lang.String,java.lang.String,java.lang.String> createJarRules()
public ClassScanner excludeJars(java.lang.String... excludedJars)
public ClassScanner includeJars(java.lang.String... includedJars)
public ClassScanner includeAllJars(boolean blacklist)
public ClassScanner excludeAllJars(boolean whitelist)
protected InExRules<java.lang.String,java.lang.String,java.lang.String> createEntriesRules()
public ClassScanner includeEntries(java.lang.String... includedEntries)
InExRules
public ClassScanner includeAllEntries(boolean blacklist)
public ClassScanner excludeAllEntries(boolean whitelist)
public ClassScanner excludeEntries(java.lang.String... excludedEntries)
InExRules
public ClassScanner smartModeEntries()
public ClassScanner includeResources(boolean includeResources)
public ClassScanner ignoreException(boolean ignoreException)
protected boolean acceptJar(java.io.File jarFile)
true
if some JAR file has to be accepted.protected void scanJarFile(java.io.File file)
onEntry(EntryData)
protected void scanClassPath(java.io.File root)
onEntry(EntryData)
protected void scanClassFile(java.lang.String filePath, java.lang.String rootPath, java.io.File file, boolean isClass)
protected java.lang.String prepareEntryName(java.lang.String name, boolean isClass)
protected boolean acceptEntry(java.lang.String entryName)
true
if some entry name has to be accepted.protected void scanEntry(ClassScanner.EntryData entryData)
accepted
invokes onEntry(EntryData)
a callback}.public ClassScanner onEntry(java.util.function.Consumer<ClassScanner.EntryData> entryDataConsumer)
protected void onEntry(ClassScanner.EntryData entryData)
InputStream
is provided by InputStreamProvider and opened lazy.
Once opened, input stream doesn't have to be closed - this is done by this class anyway.public static byte[] bytecodeSignatureOfType(java.lang.Class type)
public java.lang.Class loadClass(java.lang.String className) throws java.lang.ClassNotFoundException
ignoreException
is set,
no exception is thrown, but null
is returned.java.lang.ClassNotFoundException
public ClassScanner resetPaths()
scan
methods.public ClassScanner scan(java.net.URL... urls)
public ClassScanner scanDefaultClasspath()
default class path
.public ClassScanner scan(java.io.File... paths)
public ClassScanner scan(java.lang.String... paths)
public void start()
Copyright © 2003-present Jodd Team