Package com.sun.enterprise.module.single
Class ClassPathBasedModulesRegistry
- java.lang.Object
-
- com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl
-
- com.sun.enterprise.module.impl.ModulesRegistryImpl
-
- com.sun.enterprise.module.single.ClassPathBasedModulesRegistry
-
- All Implemented Interfaces:
ModuleChangeListener
,ModulesRegistry
public class ClassPathBasedModulesRegistry extends ModulesRegistryImpl
Implements a modules registry based on a class-path style of module description using a single class loader (capable of loading the entire class-path)- Author:
- Jerome Dochez
-
-
Field Summary
-
Fields inherited from class com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl
parent, providers, repositories
-
-
Constructor Summary
Constructors Constructor Description ClassPathBasedModulesRegistry(ClassLoader singleCL, String classPath)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Module
find(Class clazz)
Finds theModule
that owns the given class.Collection<Module>
getModules()
Returns the list of shared Modules registered in this instance.Collection<Module>
getModules(String moduleName)
Returns the list of shared Modules registered in this instance whose name matches the given nameModule
makeModuleFor(String name, String version, boolean resolve)
Returns theModule
instance giving a name and version constraints.protected List<ActiveDescriptor>
parseInhabitants(Module module, String name, ServiceLocator serviceLocator, List<PopulatorPostProcessor> postProcessors)
-
Methods inherited from class com.sun.enterprise.module.impl.ModulesRegistryImpl
createChild, detachAll, getLifecycleListeners, getModulesClassLoader, getModulesClassLoader, getParentClassLoader, getProvidingModule, newModule, register, setParentClassLoader, shutdown, unregister
-
Methods inherited from class com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl
add, add, add, addRepository, addRepository, changed, createServiceLocator, createServiceLocator, createServiceLocator, dumpState, getAllServiceLocators, getModulesProvider, getProvidersClass, getRepository, getRunningServices, initializeServiceLocator, loadFromRepository, makeModuleFor, makeModuleFor, newServiceLocator, newServiceLocator, populateConfig, populateServiceLocator, print, registerRunningService, remove, removeRepository, unregisterRunningService
-
-
-
-
Constructor Detail
-
ClassPathBasedModulesRegistry
public ClassPathBasedModulesRegistry(ClassLoader singleCL, String classPath) throws IOException
- Throws:
IOException
-
-
Method Detail
-
find
public Module find(Class clazz)
Description copied from interface:ModulesRegistry
Finds theModule
that owns the given class.- Specified by:
find
in interfaceModulesRegistry
- Overrides:
find
in classModulesRegistryImpl
- Returns:
- null if the class is loaded outside the module system.
-
getModules
public Collection<Module> getModules(String moduleName)
Description copied from interface:ModulesRegistry
Returns the list of shared Modules registered in this instance whose name matches the given nameThe returned list will not include the modules defined in the ancestor
ModulesRegistry
s.- Specified by:
getModules
in interfaceModulesRegistry
- Overrides:
getModules
in classAbstractModulesRegistryImpl
- Returns:
- an umodifiable list of loaded modules having names that match the given name
-
getModules
public Collection<Module> getModules()
Description copied from class:AbstractModulesRegistryImpl
Returns the list of shared Modules registered in this instance.The returned list will not include the modules defined in the ancestor
AbstractModulesRegistryImpl
s.- Specified by:
getModules
in interfaceModulesRegistry
- Overrides:
getModules
in classAbstractModulesRegistryImpl
- Returns:
- an umodifiable list of loaded modules
-
makeModuleFor
public Module makeModuleFor(String name, String version, boolean resolve) throws ResolveError
Description copied from interface:ModulesRegistry
Returns theModule
instance giving a name and version constraints.- Specified by:
makeModuleFor
in interfaceModulesRegistry
- Overrides:
makeModuleFor
in classAbstractModulesRegistryImpl
- Parameters:
name
- the module nameversion
- the module version. Caller should specify a correct version.resolve
- should the module be resolved or not- Returns:
- the module instance or null if none can be found
- Throws:
ResolveError
- if the module dependencies cannot be resolved
-
parseInhabitants
protected List<ActiveDescriptor> parseInhabitants(Module module, String name, ServiceLocator serviceLocator, List<PopulatorPostProcessor> postProcessors) throws IOException
- Overrides:
parseInhabitants
in classModulesRegistryImpl
- Throws:
IOException
-
-