Class AbstractOSGiModulesRegistryImpl

java.lang.Object
com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl
org.jvnet.hk2.osgiadapter.AbstractOSGiModulesRegistryImpl
All Implemented Interfaces:
ModuleChangeListener, ModulesRegistry
Direct Known Subclasses:
OSGiModulesRegistryImpl, OSGiObrModulesRegistryImpl

public abstract class AbstractOSGiModulesRegistryImpl extends AbstractModulesRegistryImpl
Author:
sanjeeb.sahoo@oracle.com
  • Field Details

    • pa

      protected org.osgi.service.packageadmin.PackageAdmin pa
  • Constructor Details

    • AbstractOSGiModulesRegistryImpl

      protected AbstractOSGiModulesRegistryImpl(org.osgi.framework.BundleContext bctx)
  • Method Details

    • shutdown

      public void shutdown()
    • parseInhabitants

      public List<org.glassfish.hk2.api.ActiveDescriptor> parseInhabitants(HK2Module module, String name, org.glassfish.hk2.api.ServiceLocator serviceLocator, List<org.glassfish.hk2.api.PopulatorPostProcessor> postProcessors) throws IOException, BootException
      Specified by:
      parseInhabitants in class AbstractModulesRegistryImpl
      Throws:
      IOException
      BootException
    • createChild

      public ModulesRegistry createChild()
    • detachAll

      public void detachAll()
    • setParentClassLoader

      public void setParentClassLoader(ClassLoader parent)
      Sets the classloader parenting the class loaders created by the modules associated with this registry.
      Parameters:
      parent - parent class loader
    • getParentClassLoader

      public ClassLoader getParentClassLoader()
      Returns the parent class loader parenting the class loaders created by modules associated with this registry.
      Returns:
      the parent classloader
    • getModulesClassLoader

      public ClassLoader getModulesClassLoader(ClassLoader parent, Collection<ModuleDefinition> mds, URL[] urls) throws ResolveError
      Returns a ClassLoader capable of loading classes from a set of modules identified by their module definition and also load new urls.
      Parameters:
      parent - the parent class loader for the returned class loader instance
      mds - module definitions for all modules this classloader should be capable of loading
      urls - urls to be added to the module classloader
      Returns:
      class loader instance
      Throws:
      ResolveError - if one of the provided module definition cannot be resolved
    • getModulesClassLoader

      public ClassLoader getModulesClassLoader(ClassLoader parent, Collection<ModuleDefinition> defs) throws ResolveError
      Returns a ClassLoader capable of loading classes from a set of modules identified by their module definition
      Parameters:
      parent - the parent class loader for the returned class loader instance
      defs - module definitions for all modules this classloader should be capable of loading classes from
      Returns:
      class loader instance
      Throws:
      ResolveError - if one of the provided module definition cannot be resolved
    • find

      public HK2Module find(Class clazz)
    • getPackageAdmin

      public org.osgi.service.packageadmin.PackageAdmin getPackageAdmin()
    • addModuleChangeListener

      public void addModuleChangeListener(ModuleChangeListener listener, OSGiModuleImpl module)
    • removeModuleChangeListener

      public boolean removeModuleChangeListener(ModuleChangeListener listener)
    • register

      public void register(ModuleLifecycleListener listener)
    • unregister

      public void unregister(ModuleLifecycleListener listener)
    • remove

      public void remove(HK2Module module)
      Overrides:
      remove in class AbstractModulesRegistryImpl