Class DefaultModuleManager

java.lang.Object
enterprises.iwakura.modularbot.managers.DefaultModuleManager
All Implemented Interfaces:
ModuleManager

public final class DefaultModuleManager extends Object implements ModuleManager
  • Field Details

  • Constructor Details

  • Method Details

    • getModules

      public List<Module> getModules()
      Returns list of loaded modules in memory.
      Specified by:
      getModules in interface ModuleManager
      Returns:
      List of modules
    • addInternalModules

      public void addInternalModules(@NonNull @NonNull Module... internalModules)
      Adds internal module(s) to memory. If not loaded, they will be loaded and enabled.
      Specified by:
      addInternalModules in interface ModuleManager
      Parameters:
      internalModules - Module(s) to add
    • loadModules

      public boolean loadModules()
      Description copied from interface: ModuleManager
      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.
      Specified by:
      loadModules in interface ModuleManager
      Returns:
      Returns if the loading was successful
    • loadModule

      public void loadModule(Module module)
      Description copied from interface: ModuleManager
      Loads module (must call Module.onLoad()
      Specified by:
      loadModule in interface ModuleManager
      Parameters:
      module - Module object
    • enableModules

      public void enableModules()
      Description copied from interface: ModuleManager
      Enables all modules. Should just iterate through all loaded modules and call ModuleManager.enableModule(Module)
      Specified by:
      enableModules in interface ModuleManager
    • enableModule

      public void enableModule(Module module)
      Description copied from interface: ModuleManager
      Enables module. Must respect module's dependencies, etc.
      Specified by:
      enableModule in interface ModuleManager
      Parameters:
      module - Module object
    • unloadModules

      public void unloadModules()
      Description copied from interface: ModuleManager
      Unloads all modules. Should just iterate through all loaded modules and call ModuleManager.unloadModule(Module)
      Specified by:
      unloadModules in interface ModuleManager
    • unloadModule

      public void unloadModule(Module module)
      Description copied from interface: ModuleManager
      Disables (if needed) and unloads module
      Specified by:
      unloadModule in interface ModuleManager
      Parameters:
      module - Module object