Package org.opt4j.core.config
Class ModuleAutoFinder
- java.lang.Object
-
- org.opt4j.core.config.ModuleAutoFinder
-
- All Implemented Interfaces:
ModuleList
public class ModuleAutoFinder extends java.lang.Object implements ModuleList
TheModuleAutoFinder
searches the classpath for allPropertyModule
s that are not annotated withIgnore
.
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description ModuleAutoFinder()
Constructs aModuleAutoFinder
.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 aModuleAutoFinder
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(ModuleAutoFinderListener listener)
Add aModuleAutoFinderListener
.protected java.util.Collection<java.lang.Class<? extends com.google.inject.Module>>
getAll()
Returns all not abstract classes that implementPropertyModule
.protected java.util.List<java.lang.Class<?>>
getAllClasses(java.io.File directory)
Retrieves all Classes from onedirectory
.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 aZipFile
(Jar archive).protected java.util.Set<java.io.File>
getFilesFromClasspath()
Collects allFile
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 theModuleAutoFinderListener
.protected void
invokeOut(java.lang.String message)
Invoke an out message for theModuleAutoFinderListener
.protected boolean
isJar(java.io.File file)
Returnstrue
if the file is a Jar archive.void
removeListener(ModuleAutoFinderListener listener)
Remove aModuleAutoFinderListener
.
-
-
-
Field Detail
-
accept
protected final Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> accept
-
ignore
protected final Transformer<java.lang.Class<? extends com.google.inject.Module>,java.lang.Boolean> ignore
-
listeners
protected final java.util.Set<ModuleAutoFinderListener> listeners
-
classLoader
protected java.lang.ClassLoader classLoader
-
-
Constructor Detail
-
ModuleAutoFinder
@Inject public ModuleAutoFinder()
Constructs aModuleAutoFinder
.
-
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)
Constructs aModuleAutoFinder
.- Parameters:
accept
- the accept transformerignore
- the ignore transformer
-
-
Method Detail
-
getModules
public java.util.Collection<java.lang.Class<? extends com.google.inject.Module>> getModules()
Description copied from interface:ModuleList
Returns the classes of all modules.- Specified by:
getModules
in interfaceModuleList
- Returns:
- the classes of all modules
-
getAll
protected java.util.Collection<java.lang.Class<? extends com.google.inject.Module>> getAll()
Returns all not abstract classes that implementPropertyModule
.- Returns:
- all property modules
-
getFilesFromClasspath
protected java.util.Set<java.io.File> getFilesFromClasspath()
Collects allFile
s specified in the classpath.- Returns:
- set of directories and jar archives given in the classpath
-
isJar
protected boolean isJar(java.io.File file)
Returnstrue
if the file is a Jar archive.- Parameters:
file
- the tested file- Returns:
true
if the file is a Jar archive
-
getAllClasses
protected java.util.List<java.lang.Class<?>> getAllClasses(java.io.File directory)
Retrieves all Classes from onedirectory
.- Parameters:
directory
- the directory- Returns:
- all classes in a list
-
getAllClasses
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.- Parameters:
root
- the root directoryfile
- the current file- Returns:
- the list of all found classes
-
getAllClasses
protected java.util.List<java.lang.Class<?>> getAllClasses(java.util.zip.ZipFile zipFile)
Retrieves all Classes from aZipFile
(Jar archive).- Parameters:
zipFile
- the Jar archive- Returns:
- the list of all classes
-
invokeOut
protected void invokeOut(java.lang.String message)
Invoke an out message for theModuleAutoFinderListener
.- Parameters:
message
- the message
-
invokeErr
protected void invokeErr(java.lang.String message)
Invoke an err message for theModuleAutoFinderListener
.- Parameters:
message
- the message
-
addListener
public void addListener(ModuleAutoFinderListener listener)
Add aModuleAutoFinderListener
.- Parameters:
listener
- the listener to be added
-
removeListener
public void removeListener(ModuleAutoFinderListener listener)
Remove aModuleAutoFinderListener
.- Parameters:
listener
- the listener to be removed- See Also:
addListener(org.opt4j.core.config.ModuleAutoFinderListener)
-
-