public class ModuleAutoFinder extends java.lang.Object implements ModuleList
ModuleAutoFinder
searches the classpath for all
PropertyModule
s that are not annotated with Ignore
.Modifier and Type | Field and Description |
---|---|
protected Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> |
accept |
protected java.lang.ClassLoader |
classLoader |
protected Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> |
ignore |
protected java.util.Set<ModuleAutoFinderListener> |
listeners |
Constructor and Description |
---|
ModuleAutoFinder()
Constructs a
ModuleAutoFinder . |
ModuleAutoFinder(Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> accept,
Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> ignore)
Constructs a
ModuleAutoFinder . |
Modifier and Type | Method and Description |
---|---|
void |
addListener(ModuleAutoFinderListener listener)
Add a
ModuleAutoFinderListener . |
protected java.util.Collection<java.lang.Class<? extends com.google.inject.Module>> |
getAll()
Returns all not abstract classes that implement
PropertyModule . |
protected java.util.List<java.lang.Class<?>> |
getAllClasses(java.io.File directory)
Retrieves all Classes from one
directory . |
protected java.util.List<java.lang.Class<?>> |
getAllClasses(java.io.File root,
java.io.File file)
Recursive methods searching for classes in a root directory.
|
protected java.util.List<java.lang.Class<?>> |
getAllClasses(java.util.zip.ZipFile zipFile)
Retrieves all Classes from a
ZipFile (Jar archive). |
protected java.util.Set<java.io.File> |
getFilesFromClasspath()
Collects all
File s specified in the classpath. |
java.util.Collection<java.lang.Class<? extends com.google.inject.Module>> |
getModules()
Returns the classes of all modules.
|
protected void |
invokeErr(java.lang.String message)
Invoke an err message for the
ModuleAutoFinderListener . |
protected void |
invokeOut(java.lang.String message)
Invoke an out message for the
ModuleAutoFinderListener . |
protected boolean |
isJar(java.io.File file)
Returns
true if the file is a Jar archive. |
void |
removeListener(ModuleAutoFinderListener listener)
Remove a
ModuleAutoFinderListener . |
protected final Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> accept
protected final Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> ignore
protected final java.util.Set<ModuleAutoFinderListener> listeners
protected java.lang.ClassLoader classLoader
@Inject public ModuleAutoFinder()
ModuleAutoFinder
.public ModuleAutoFinder(Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> accept, Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> ignore)
ModuleAutoFinder
.accept
- the accept transformerignore
- the ignore transformerpublic java.util.Collection<java.lang.Class<? extends com.google.inject.Module>> getModules()
ModuleList
getModules
in interface ModuleList
protected java.util.Collection<java.lang.Class<? extends com.google.inject.Module>> getAll()
PropertyModule
.protected java.util.Set<java.io.File> getFilesFromClasspath()
File
s specified in the classpath.protected boolean isJar(java.io.File file)
true
if the file is a Jar archive.file
- the tested filetrue
if the file is a Jar archiveprotected java.util.List<java.lang.Class<?>> getAllClasses(java.io.File directory)
directory
.directory
- the directoryprotected java.util.List<java.lang.Class<?>> getAllClasses(java.io.File root, java.io.File file)
root
- the root directoryfile
- the current fileprotected java.util.List<java.lang.Class<?>> getAllClasses(java.util.zip.ZipFile zipFile)
ZipFile
(Jar archive).zipFile
- the Jar archiveprotected void invokeOut(java.lang.String message)
ModuleAutoFinderListener
.message
- the messageprotected void invokeErr(java.lang.String message)
ModuleAutoFinderListener
.message
- the messagepublic void addListener(ModuleAutoFinderListener listener)
ModuleAutoFinderListener
.listener
- the listener to be addedpublic void removeListener(ModuleAutoFinderListener listener)
ModuleAutoFinderListener
.listener
- the listener to be removedaddListener(org.opt4j.core.config.ModuleAutoFinderListener)