public abstract class ModuleRegistry extends Object
| Modifier and Type | Field and Description | 
|---|---|
| protected static ModuleRegistry | theSingletonThe singleton instance of this class. | 
| Constructor and Description | 
|---|
| ModuleRegistry() | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract void | addModuleRegistryListener(ModuleRegistryListener newListener)Add a ModuleRegistry listener to be notified when new Modules become available etc. | 
| protected abstract ClassLoader | createClassLoader(Module module,
                 ClassLoader parentClassLoader)ModuleRegistries can also acts as a factory for the Modules' ClassLoaders. | 
| abstract ModuleMeta[] | determineResolutionCandidates(ModuleRequirement req)Determine the ModuleMetas that are candidates to resolve a Module dependency, based
 on the knowledge of this ModuleRegistry. | 
| abstract Module[] | determineRuntimeDependencies(Module theModule)Given a Module, this allows us to determine which other Modules it depends at
 run-time. | 
| abstract Module[] | determineRuntimeUses(Module theModule)Given a Module, this allows us to determine which other Modules use it at
 run-time. | 
| abstract ModuleMeta | determineSingleResolutionCandidate(ModuleRequirement req)Convenience method to determine the one and only ModuleMeta that is the only candidate to resolve a Module
 dependency, based on the knowledge of this ModuleRegistry. | 
| abstract Module | getResolutionOf(ModuleMeta meta)Determine whether a certain ModuleMeta is resolved already, and if so,
 return it. | 
| static ModuleRegistry | getSingleton()Obtain the singleton instance of this class, or a subclass. | 
| abstract Set<String> | nameSet()Obtain the set of Module names currently contained in the registry. | 
| abstract Set<String> | nameSet(Pattern regex)Obtain the set of Module names currently contained in the registry that match a
 naming pattern. | 
| abstract void | removeModuleRegistryListener(ModuleRegistryListener oldListener)Remove a ModuleRegistry listener. | 
| abstract Module | resolve(ModuleMeta meta)Recursively resolve this ModuleMeta into a Module. | 
| abstract Module | resolve(ModuleMeta meta,
       boolean recursive)Resolve this ModuleMeta into a Module. | 
protected static ModuleRegistry theSingleton
public static ModuleRegistry getSingleton()
public abstract ModuleMeta[] determineResolutionCandidates(ModuleRequirement req)
req - the ModuleRequirement that we attempt to resolvepublic abstract ModuleMeta determineSingleResolutionCandidate(ModuleRequirement req) throws NoModuleResolutionCandidateException, ModuleResolutionCandidateNotUniqueException
req - the ModuleRequirement that we attempt to resolveNoModuleResolutionCandidateException - thrown if no ModuleMeta was foundModuleResolutionCandidateNotUniqueException - thrown if there were more than one ModuleMeta foundpublic abstract Module resolve(ModuleMeta meta) throws ModuleNotFoundException, ModuleResolutionException
meta - the ModuleMeta to resolveModuleNotFoundException - thrown if the Module could not be foundModuleResolutionException - thrown if the Module could not be resolvedpublic abstract Module resolve(ModuleMeta meta, boolean recursive) throws ModuleNotFoundException, ModuleResolutionException
meta - the ModuleMeta to resolverecursive - resolve recursively if set to trueModuleNotFoundException - thrown if the Module could not be foundModuleResolutionException - thrown if the Module could not be resolvedpublic abstract Module getResolutionOf(ModuleMeta meta)
meta - the ModuleMeta whose resolution we checkpublic abstract Module[] determineRuntimeDependencies(Module theModule)
theModule - the Module whose run-time dependencies we want to determinedetermineRuntimeUses(org.diet4j.core.Module)public abstract Module[] determineRuntimeUses(Module theModule)
theModule - the Module whose uses we want to determine at run-timedetermineRuntimeDependencies(org.diet4j.core.Module)protected abstract ClassLoader createClassLoader(Module module, ClassLoader parentClassLoader)
module - the Module for which to create a ClassLoaderparentClassLoader - the ClassLoader to use as the parent ClassLoaderpublic abstract Set<String> nameSet()
public abstract Set<String> nameSet(Pattern regex)
regex - the regular expressionpublic abstract void addModuleRegistryListener(ModuleRegistryListener newListener)
newListener - the new listener to addremoveModuleRegistryListener(org.diet4j.core.ModuleRegistryListener)public abstract void removeModuleRegistryListener(ModuleRegistryListener oldListener)
oldListener - the listener to removeaddModuleRegistryListener(org.diet4j.core.ModuleRegistryListener)Copyright © 2018. All rights reserved.