Package pro.gravit.launcher.modules.impl
Class SimpleModuleManager
- java.lang.Object
-
- pro.gravit.launcher.modules.impl.SimpleModuleManager
-
- All Implemented Interfaces:
LauncherModulesManager
public class SimpleModuleManager extends java.lang.Object implements LauncherModulesManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classSimpleModuleManager.ModulesVisitor
-
Field Summary
Fields Modifier and Type Field Description protected pro.gravit.launcher.LauncherTrustManager.CheckModecheckModeDeprecated.protected pro.gravit.utils.PublicURLClassLoaderclassLoaderprotected SimpleModuleContextcontextprotected LauncherInitContextinitContextprotected java.util.List<java.lang.String>moduleNamesprotected java.util.List<LauncherModule>modulesprotected ModulesConfigManagermodulesConfigManagerprotected java.nio.file.PathmodulesDirprotected pro.gravit.launcher.LauncherTrustManagertrustManager
-
Constructor Summary
Constructors Constructor Description SimpleModuleManager(java.nio.file.Path modulesDir, java.nio.file.Path configDir)SimpleModuleManager(java.nio.file.Path modulesDir, java.nio.file.Path configDir, pro.gravit.launcher.LauncherTrustManager trustManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidautoload()voidautoload(java.nio.file.Path dir)pro.gravit.launcher.LauncherTrustManager.CheckClassResultcheckModuleClass(java.lang.Class<? extends LauncherModule> clazz)voidcheckModuleClass(java.lang.Class<? extends LauncherModule> clazz, pro.gravit.launcher.LauncherTrustManager.CheckMode mode)Deprecated.<T extends LauncherModule>
TfindModule(java.lang.Class<? extends T> clazz, java.util.function.Predicate<pro.gravit.utils.Version> versionPredicate)ModulesConfigManagergetConfigManager()LauncherModulegetCoreModule()<T extends LauncherModule>
TgetModule(java.lang.Class<? extends T> clazz)LauncherModulegetModule(java.lang.String name)<T> TgetModuleByInterface(java.lang.Class<T> clazz)java.lang.ClassLoadergetModuleClassLoader()<T> java.util.List<T>getModulesByInterface(java.lang.Class<T> clazz)voidinitModules(LauncherInitContext initContext)<T extends LauncherModule.Event>
voidinvokeEvent(T event)Invoke event processing for all modules.LauncherModuleloadModule(java.nio.file.Path file)LauncherModuleloadModule(LauncherModule module)booleanverifyClassCheckResult(pro.gravit.launcher.LauncherTrustManager.CheckClassResult result)voidverifyClassCheckResultExceptional(pro.gravit.launcher.LauncherTrustManager.CheckClassResult result)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface pro.gravit.launcher.modules.LauncherModulesManager
containsModule, containsModule
-
-
-
-
Field Detail
-
modules
protected final java.util.List<LauncherModule> modules
-
moduleNames
protected final java.util.List<java.lang.String> moduleNames
-
context
protected final SimpleModuleContext context
-
modulesConfigManager
protected final ModulesConfigManager modulesConfigManager
-
modulesDir
protected final java.nio.file.Path modulesDir
-
trustManager
protected final pro.gravit.launcher.LauncherTrustManager trustManager
-
classLoader
protected final pro.gravit.utils.PublicURLClassLoader classLoader
-
initContext
protected LauncherInitContext initContext
-
checkMode
@Deprecated protected pro.gravit.launcher.LauncherTrustManager.CheckMode checkMode
Deprecated.
-
-
Method Detail
-
autoload
public void autoload() throws java.io.IOException- Throws:
java.io.IOException
-
autoload
public void autoload(java.nio.file.Path dir) throws java.io.IOException- Throws:
java.io.IOException
-
initModules
public void initModules(LauncherInitContext initContext)
-
loadModule
public LauncherModule loadModule(LauncherModule module)
- Specified by:
loadModulein interfaceLauncherModulesManager
-
loadModule
public LauncherModule loadModule(java.nio.file.Path file) throws java.io.IOException
- Specified by:
loadModulein interfaceLauncherModulesManager- Throws:
java.io.IOException
-
checkModuleClass
@Deprecated public void checkModuleClass(java.lang.Class<? extends LauncherModule> clazz, pro.gravit.launcher.LauncherTrustManager.CheckMode mode) throws java.lang.SecurityException
Deprecated.- Throws:
java.lang.SecurityException
-
checkModuleClass
public pro.gravit.launcher.LauncherTrustManager.CheckClassResult checkModuleClass(java.lang.Class<? extends LauncherModule> clazz)
-
verifyClassCheckResult
public boolean verifyClassCheckResult(pro.gravit.launcher.LauncherTrustManager.CheckClassResult result)
-
verifyClassCheckResultExceptional
public void verifyClassCheckResultExceptional(pro.gravit.launcher.LauncherTrustManager.CheckClassResult result) throws java.lang.Exception- Throws:
java.lang.Exception
-
getModule
public LauncherModule getModule(java.lang.String name)
- Specified by:
getModulein interfaceLauncherModulesManager
-
getCoreModule
public LauncherModule getCoreModule()
- Specified by:
getCoreModulein interfaceLauncherModulesManager
-
getModuleClassLoader
public java.lang.ClassLoader getModuleClassLoader()
- Specified by:
getModuleClassLoaderin interfaceLauncherModulesManager
-
getModule
public <T extends LauncherModule> T getModule(java.lang.Class<? extends T> clazz)
- Specified by:
getModulein interfaceLauncherModulesManager
-
getModuleByInterface
public <T> T getModuleByInterface(java.lang.Class<T> clazz)
- Specified by:
getModuleByInterfacein interfaceLauncherModulesManager
-
getModulesByInterface
public <T> java.util.List<T> getModulesByInterface(java.lang.Class<T> clazz)
- Specified by:
getModulesByInterfacein interfaceLauncherModulesManager
-
findModule
public <T extends LauncherModule> T findModule(java.lang.Class<? extends T> clazz, java.util.function.Predicate<pro.gravit.utils.Version> versionPredicate)
- Specified by:
findModulein interfaceLauncherModulesManager
-
invokeEvent
public <T extends LauncherModule.Event> void invokeEvent(T event)
Description copied from interface:LauncherModulesManagerInvoke event processing for all modules. Event processing is carried out in the order of the modules in the list (sorted by priority)- Specified by:
invokeEventin interfaceLauncherModulesManager- Type Parameters:
T- event type- Parameters:
event- event handled
-
getConfigManager
public ModulesConfigManager getConfigManager()
- Specified by:
getConfigManagerin interfaceLauncherModulesManager
-
-