Class DefaultModuleProviderHandler

java.lang.Object
eu.cloudnetservice.driver.impl.module.DefaultModuleProviderHandler
All Implemented Interfaces:
eu.cloudnetservice.driver.module.ModuleProviderHandler

@Singleton public class DefaultModuleProviderHandler extends Object implements eu.cloudnetservice.driver.module.ModuleProviderHandler
Represents the default implementation of the module provider handler.
Since:
4.0
See Also:
  • ModuleProviderHandler
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • eventManager

      protected final eu.cloudnetservice.driver.event.EventManager eventManager
    • moduleProvider

      protected final eu.cloudnetservice.driver.module.ModuleProvider moduleProvider
    • serviceRegistry

      protected final eu.cloudnetservice.driver.registry.ServiceRegistry serviceRegistry
  • Constructor Details

    • DefaultModuleProviderHandler

      @Inject protected DefaultModuleProviderHandler(@NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull @NonNull eu.cloudnetservice.driver.module.ModuleProvider moduleProvider, @NonNull @NonNull eu.cloudnetservice.driver.registry.ServiceRegistry serviceRegistry)
  • Method Details

    • handlePreModuleLoad

      public boolean handlePreModuleLoad(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePreModuleLoad in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePostModuleLoad

      public void handlePostModuleLoad(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePostModuleLoad in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePreModuleStart

      public boolean handlePreModuleStart(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePreModuleStart in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePostModuleStart

      public void handlePostModuleStart(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePostModuleStart in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePreModuleReload

      public boolean handlePreModuleReload(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePreModuleReload in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePostModuleReload

      public void handlePostModuleReload(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePostModuleReload in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePreModuleStop

      public boolean handlePreModuleStop(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePreModuleStop in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePostModuleStop

      public void handlePostModuleStop(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePostModuleStop in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePreModuleUnload

      public void handlePreModuleUnload(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePreModuleUnload in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePostModuleUnload

      public void handlePostModuleUnload(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleWrapper moduleWrapper)
      Specified by:
      handlePostModuleUnload in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePreInstallDependency

      public void handlePreInstallDependency(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleConfiguration configuration, @NonNull @NonNull eu.cloudnetservice.driver.module.ModuleDependency dependency)
      Specified by:
      handlePreInstallDependency in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • handlePostInstallDependency

      public void handlePostInstallDependency(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleConfiguration configuration, @NonNull @NonNull eu.cloudnetservice.driver.module.ModuleDependency dependency)
      Specified by:
      handlePostInstallDependency in interface eu.cloudnetservice.driver.module.ModuleProviderHandler
    • callEvent

      @NonNull protected <T extends eu.cloudnetservice.driver.event.Event> T callEvent(@NonNull T event)
      Shortcut for calling an event using EventManager.callEvent(Event)
      Type Parameters:
      T - the method parameter of the event
      Parameters:
      event - the event to call.
      Returns:
      the same given event instance.
      Throws:
      NullPointerException - if event is null.
    • moduleArguments

      protected Object[] moduleArguments(@NonNull @NonNull eu.cloudnetservice.driver.module.ModuleConfiguration configuration)
      Creates a new object array with these properties of the module:
      1. group
      2. name
      3. version
      Parameters:
      configuration - the module configuration to obtain the information from.
      Returns:
      an object array containing the group, name and version of the module.
      Throws:
      NullPointerException - if configuration is null.