Package net.regsirius06.engine.plugins.loaders
package net.regsirius06.engine.plugins.loaders
This package contains classes responsible for loading and managing plugins
within the engine, specifically for loading
Loadable
plugins such as Core, Executable,
WallState plugins, and initializers for labyrinth panels
(AbstractLabyrinthPanel).
The loaders in this package leverage the ServiceLoader mechanism to
dynamically load plugins and provide access to them. Each loader is responsible for
filtering, validating, and providing access to a specific category of plugins,
whether it's executable actions, wall states, or labyrinth panel initializers.
Key classes in this package include:
PluginLoader- Interface defining the structure for all plugin loaders.DefaultPluginLoader- Default implementation of thePluginLoaderinterface.ExecutablesPluginLoader- Loader forExecutableplugins.WallStatesPluginLoader- Loader forWallStateplugins.LabyrinthPanelsPluginLoader- Loader forAbstractLabyrinthPanelinitializers.PluginsLoader- Concrete loader forCoreplugins, responsible for loading the core plugins.InitializersPluginLoader- Loader forInitializerplugins, specifically for initializing various objects like labyrinth panels.
-
ClassDescriptionDefaultPluginLoader<T extends Loadable>A default implementation of the
PluginLoaderinterface that provides basic plugin loading functionality for plugins of typeLoadable.APluginLoaderimplementation for loadingExecutableplugins.A plugin loader implementation for loadingInitializerplugins of a specific typeT.APluginLoaderimplementation for loadingAbstractLabyrinthPanelinitializers.PluginLoader<T extends Loadable>Defines the contract for plugin loaders that load and manage plugins of typeLoadable.A concrete implementation of thePluginLoaderinterface that loadsCoreplugins.APluginLoaderimplementation for loadingWallStateplugins.