pingex
/
DiscordBot
Archived
1
0
Fork 0

Moved the modules registry to an independant class.

master
Pingex aka Raphaël 9 years ago
parent e5fb48cb6a
commit 3d5ec1c537

@ -1,7 +1,6 @@
package net.pingex.discordbot;
import sx.blah.discord.api.IDiscordClient;
import java.util.ArrayList;
import java.util.logging.Logger;
/**
@ -11,10 +10,7 @@ import java.util.logging.Logger;
*/
public abstract class AbstractModule
{
/**
* Contains all `AbstractModule` instances created.
*/
private static final ArrayList<AbstractModule> REGISTERED = new ArrayList<>();
protected Logger logger;
@ -24,7 +20,7 @@ public abstract class AbstractModule
*/
public AbstractModule(IDiscordClient client)
{
REGISTERED.add(this);
ModulesRegistry.register(this);
client.getDispatcher().registerListener(this);
logger = Logger.getLogger(this.getClass().getName());
logger.info("Loading module " + this.getClass().getName());

@ -0,0 +1,23 @@
package net.pingex.discordbot;
import java.util.ArrayList;
/**
* Class which keeps track of all known loaded modules
*/
public class ModulesRegistry
{
/**
* Contains all `AbstractModule` instances created.
*/
private static ArrayList<AbstractModule> datastore = new ArrayList<>();
/**
* Action to register a loaded module
* @param toRegister Module to register
*/
public static void register(AbstractModule toRegister)
{
datastore.add(toRegister);
}
}