Package com.ultikits.ultitools.manager
Class ListenerManager
java.lang.Object
com.ultikits.ultitools.manager.ListenerManager
Listener manager.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<UltiToolsPlugin, List<org.bukkit.event.Listener>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidregister(UltiToolsPlugin plugin, Class<? extends org.bukkit.event.Listener> listenerClass) Register listener.voidregisterAll(UltiToolsPlugin plugin) Register all listeners in the UltiTools plugin class base package.voidregisterAllExternal(ExternalPluginAdapter adapter) Register all @EventListener listeners from an external plugin's IoC container.private voidregisterListener(UltiToolsPlugin plugin, org.bukkit.event.Listener listener) Registers an already-constructedlistenerforpluginwith Bukkit and tracks it for laterunregisterAll(com.ultikits.ultitools.abstracts.UltiToolsPlugin).voidunregister(org.bukkit.event.Listener listener) Unregister listener.voidunregisterAll(UltiToolsPlugin plugin) Unregisters from Bukkit every listener this framework registered forplugin, then stops trackingplugin: once its listeners are released, this manager no longer references the module or its listener objects, so an unloaded module is not kept reachable by it.voidunregisterAllExternal(String pluginName) Unregister all listeners for an external plugin.
-
Field Details
-
listenerListMap
-
externalListenerMap
-
-
Constructor Details
-
ListenerManager
public ListenerManager()
-
-
Method Details
-
register
public void register(UltiToolsPlugin plugin, Class<? extends org.bukkit.event.Listener> listenerClass) Register listener.- Parameters:
plugin- UltiTools plugin instancelistenerClass- Listener class
-
registerAll
Register all listeners in the UltiTools plugin class base package.Beans are enumerated by name, so a listener bound under several names (a
@Bean(name = {primary, alias})product) is reached once per name; it is registered with Bukkit once, on the first name (C50).- Parameters:
plugin- UltiTools plugin instance
-
registerListener
Registers an already-constructedlistenerforpluginwith Bukkit and tracks it for laterunregisterAll(com.ultikits.ultitools.abstracts.UltiToolsPlugin). The shared registration step behind bothregister(UltiToolsPlugin, Class)(which resolves the listener as a bean first) andregisterAll(UltiToolsPlugin). Plan 07-14 (GEN-04) removed the publicregister(UltiToolsPlugin, Listener)overload this logic used to live in -- that overload took an already-constructed instance and therefore performed no dependency injection of its own, so its actual registration behaviour is unchanged here, only its public, unvalidated entry point is gone.- Parameters:
plugin- UltiTools plugin instancelistener- Listener
-
unregister
public void unregister(org.bukkit.event.Listener listener) Unregister listener.- Parameters:
listener- Listener
-
unregisterAll
Unregisters from Bukkit every listener this framework registered forplugin, then stops trackingplugin: once its listeners are released, this manager no longer references the module or its listener objects, so an unloaded module is not kept reachable by it. A later registration for the same instance starts a new list.- Parameters:
plugin- UltiTools plugin instance
-
registerAllExternal
Register all @EventListener listeners from an external plugin's IoC container. A listener bound under several names is registered once (C50), as inregisterAll(UltiToolsPlugin).- Parameters:
adapter- the external plugin adapter- Since:
- 6.2.2
-
unregisterAllExternal
Unregister all listeners for an external plugin.- Parameters:
pluginName- the external plugin name- Since:
- 6.2.2
-