Class DefaultModuleManager
java.lang.Object
enterprises.iwakura.modularbot.managers.DefaultModuleManager
- All Implemented Interfaces:
ModuleManager
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefaultModuleManager(dev.mayuna.mayusjdautils.MayusJDAUtilities baseMayusJDAUtilities, ModularBotIrminsul irminsul) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddInternalModules(@NonNull Module... internalModules) Adds internal module(s) to memory.voidenableModule(Module module) Enables module.voidEnables all modules.Returns list of loaded modules in memory.voidloadModule(Module module) Loads module (must callModule.onLoad()booleanLoads modules from file system to memory.voidunloadModule(Module module) Disables (if needed) and unloads modulevoidUnloads all modules.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface enterprises.iwakura.modularbot.base.ModuleManager
getModuleByName, isModuleLoaded, processCommandClientBuilder, processException, processGanyu, processShardBuilder
-
Field Details
-
MODULE_CONFIG_BEAN_NAME
- See Also:
-
-
Constructor Details
-
DefaultModuleManager
public DefaultModuleManager(dev.mayuna.mayusjdautils.MayusJDAUtilities baseMayusJDAUtilities, ModularBotIrminsul irminsul)
-
-
Method Details
-
getModules
Returns list of loaded modules in memory.- Specified by:
getModulesin interfaceModuleManager- Returns:
- List of modules
-
addInternalModules
Adds internal module(s) to memory. If not loaded, they will be loaded and enabled.- Specified by:
addInternalModulesin interfaceModuleManager- Parameters:
internalModules- Module(s) to add
-
loadModules
public boolean loadModules()Description copied from interface:ModuleManagerLoads modules from file system to memory. This method must not callModule.onLoad()
If called again, firstly all loaded modules are disabled (if needed) and unloaded, then it proceeds normally.- Specified by:
loadModulesin interfaceModuleManager- Returns:
- Returns if the loading was successful
-
loadModule
Description copied from interface:ModuleManagerLoads module (must callModule.onLoad()- Specified by:
loadModulein interfaceModuleManager- Parameters:
module- Module object
-
enableModules
public void enableModules()Description copied from interface:ModuleManagerEnables all modules. Should just iterate through all loaded modules and callModuleManager.enableModule(Module)- Specified by:
enableModulesin interfaceModuleManager
-
enableModule
Description copied from interface:ModuleManagerEnables module. Must respect module's dependencies, etc.- Specified by:
enableModulein interfaceModuleManager- Parameters:
module- Module object
-
unloadModules
public void unloadModules()Description copied from interface:ModuleManagerUnloads all modules. Should just iterate through all loaded modules and callModuleManager.unloadModule(Module)- Specified by:
unloadModulesin interfaceModuleManager
-
unloadModule
Description copied from interface:ModuleManagerDisables (if needed) and unloads module- Specified by:
unloadModulein interfaceModuleManager- Parameters:
module- Module object
-