Interface ModuleManager

All Known Implementing Classes:
DefaultModuleManager

public interface ModuleManager
Module manager
  • Method Details

    • getModules

      List<Module> getModules()
      Returns list of loaded modules in memory.
      Returns:
      List of modules
    • addInternalModules

      void addInternalModules(Module... modules)
      Adds internal module(s) to memory. If not loaded, they will be loaded and enabled.
      Parameters:
      modules - Module(s) to add
    • isModuleLoaded

      default boolean isModuleLoaded(String moduleName)
      Determines if specified module is loaded in memory
      Parameters:
      moduleName - Module name
      Returns:
      True if module is loaded in memory, false otherwise
    • getModuleByName

      default Optional<Module> getModuleByName(String moduleName)
      Gets Module from loaded modules in memory by module name
      Parameters:
      moduleName - Module name
      Returns:
      Returns optional of Module
    • loadModules

      boolean loadModules()
      Loads modules from file system to memory. This method must not call Module.onLoad()
      If called again, firstly all loaded modules are disabled (if needed) and unloaded, then it proceeds normally.
      Returns:
      Returns if the loading was successful
    • loadModule

      void loadModule(Module module)
      Loads module (must call Module.onLoad()
      Parameters:
      module - Module object
    • enableModules

      void enableModules()
      Enables all modules. Should just iterate through all loaded modules and call enableModule(Module)
    • enableModule

      void enableModule(Module module)
      Enables module. Must respect module's dependencies, etc.
      Parameters:
      module - Module object
    • unloadModules

      void unloadModules()
      Unloads all modules. Should just iterate through all loaded modules and call unloadModule(Module)
    • unloadModule

      void unloadModule(Module module)
      Disables (if needed) and unloads module
      Parameters:
      module - Module object
    • processCommandClientBuilder

      default void processCommandClientBuilder(com.jagrosh.jdautilities.command.CommandClientBuilder commandClientBuilder)
    • processGanyu

      default void processGanyu(enterprises.iwakura.ganyu.Ganyu ganyu)
    • processShardBuilder

      default void processShardBuilder(net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder shardManagerBuilder)
    • processException

      default void processException(Throwable throwable)