public class JBossModuleLoader
extends org.jboss.modules.ModuleLoader
ModuleLoader
class which exposes
many of the protected methods for convenience.
The ModuleSpec
repository is backed by a Map contained within
this class so that ModuleSpecs can be directly injected instead of
located via a ModuleFinder
.
This class exposes operations for different revisions of a given module
using the ModuleIdentifier
"slot" as a revision holder.Modifier and Type | Field and Description |
---|---|
protected static java.util.Comparator<org.jboss.modules.ModuleIdentifier> |
MODULE_ID_COMPARATOR
Comparator used for the module revision sorting
|
protected java.util.SortedMap<org.jboss.modules.ModuleIdentifier,org.jboss.modules.ModuleSpec> |
moduleSpecs
Module Spec repo.
|
Constructor and Description |
---|
JBossModuleLoader()
Construct a instance with an empty module spec repository.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addModuleSpec(org.jboss.modules.ModuleSpec moduleSpec)
Add a
ModuleSpec to the internal repository making it ready to load. |
org.jboss.modules.Module |
findLoadedModule(org.jboss.modules.ModuleIdentifier revisionId)
Find a module from the local repository.
|
java.util.Set<org.jboss.modules.ModuleIdentifier> |
getAllRevisionIds(java.lang.String scriptModuleId)
Find all module revisionIds with a common name
|
static java.util.Set<ModuleId> |
getDependencyScriptModuleIds(org.jboss.modules.ModuleSpec moduleSpec)
Extract the Module dependencies for the given module in the form
of ScriptModule ids.
|
org.jboss.modules.ModuleIdentifier |
getLatestRevisionId(ModuleId scriptModuleId)
Find the highest revision for the given scriptModuleId
|
java.util.Map<ModuleId,org.jboss.modules.ModuleIdentifier> |
getLatestRevisionIds()
Get a map of the the moduleId to
ModuleIdentifier with the highest revision |
long |
getLatestRevisionNumber(ModuleId scriptModuleId)
Find the highest revision for the given scriptModuleId
|
org.jgrapht.DirectedGraph<ModuleId,org.jgrapht.graph.DefaultEdge> |
getModuleNameGraph()
Construct the Module dependency graph of a module loader where each vertex is the module name
|
org.jboss.modules.ModuleSpec |
getModuleSpec(org.jboss.modules.ModuleIdentifier revisionId)
Get a
ModuleSpec that was added to this instance |
static long |
getRevisionNumber(org.jboss.modules.ModuleIdentifier revisionId)
Helper method to parse out the revision number from a
ModuleIdentifier |
void |
rescanModule(org.jboss.modules.Module module)
Rescan a module.
|
void |
unloadAllModuleRevision(java.lang.String scriptModuleId)
Unload all module revisions with the give script module id
|
void |
unloadModule(org.jboss.modules.Module module)
Unload a module from the local repository.
|
void |
unloadModule(org.jboss.modules.ModuleIdentifier revisionId)
Unload the given revision of a module from the local repository.
|
findLoadedModuleLocal, findModule, forClass, forClassLoader, getDependencies, getFinders, iterateModules, loadModule, loadModuleLocal, preloadExportedModule, preloadModule, preloadModule, refreshResourceLoaders, relink, setAndRefreshResourceLoaders, setAndRelinkDependencies, toString, unloadModuleLocal
protected static final java.util.Comparator<org.jboss.modules.ModuleIdentifier> MODULE_ID_COMPARATOR
protected final java.util.SortedMap<org.jboss.modules.ModuleIdentifier,org.jboss.modules.ModuleSpec> moduleSpecs
public JBossModuleLoader()
public void unloadAllModuleRevision(java.lang.String scriptModuleId)
public void unloadModule(org.jboss.modules.ModuleIdentifier revisionId)
revisionId
- ModuleIdentifier
of the revision to unloadpublic void unloadModule(org.jboss.modules.Module module)
ModuleLoader.unloadModuleLocal(Module)
.module
- the module to unload.@Nullable public org.jboss.modules.Module findLoadedModule(org.jboss.modules.ModuleIdentifier revisionId)
ModuleLoader.findLoadedModuleLocal(ModuleIdentifier)
.revisionId
- revisionId of the module to find@Nullable public boolean addModuleSpec(org.jboss.modules.ModuleSpec moduleSpec)
ModuleSpec
to the internal repository making it ready to load. Note, this doesn't
actually load the Module
.moduleSpec
- spec to addModuleLoader.loadModule(ModuleIdentifier)
@Nullable public org.jboss.modules.ModuleSpec getModuleSpec(org.jboss.modules.ModuleIdentifier revisionId)
ModuleSpec
that was added to this instancerevisionId
- id to search forpublic long getLatestRevisionNumber(ModuleId scriptModuleId)
scriptModuleId
- name to search forpublic org.jboss.modules.ModuleIdentifier getLatestRevisionId(ModuleId scriptModuleId)
scriptModuleId
- name to search forpublic java.util.Set<org.jboss.modules.ModuleIdentifier> getAllRevisionIds(java.lang.String scriptModuleId)
public java.util.Map<ModuleId,org.jboss.modules.ModuleIdentifier> getLatestRevisionIds()
ModuleIdentifier
with the highest revisionpublic static long getRevisionNumber(org.jboss.modules.ModuleIdentifier revisionId)
ModuleIdentifier
public org.jgrapht.DirectedGraph<ModuleId,org.jgrapht.graph.DefaultEdge> getModuleNameGraph()
public static java.util.Set<ModuleId> getDependencyScriptModuleIds(org.jboss.modules.ModuleSpec moduleSpec)
public void rescanModule(org.jboss.modules.Module module) throws org.jboss.modules.ModuleLoadException
module
- a loaded module.org.jboss.modules.ModuleLoadException