]>
jfr.im git - irc/rizon/acid.git/blob - acid/src/main/java/net/rizon/acid/core/Message.java
994ef076d9d1dd08681b298ced949d2987dc0599
1 package net
.rizon
.acid
.core
;
3 import java
.util
.HashMap
;
4 import net
.rizon
.acid
.plugins
.ClassLoader
;
5 import org
.slf4j
.Logger
;
6 import org
.slf4j
.LoggerFactory
;
8 public abstract class Message
10 private static final Logger log
= LoggerFactory
.getLogger(Message
.class);
12 public static final char BOLD
= 2;
14 private static final String messageBase
= "net.rizon.acid.messages";
15 private static final String
[] messageClasses
= {
16 "Encap", "EOB", "Error", "Join", "Kick", "Kill", "Mode", "Nick",
17 "Notice", "Part", "Pass", "Ping", "Privmsg", "Quit", "Server", "SID",
18 "SJoin", "SQuit", "Stats", "TMode", "UID", "Whois", "Operwall", "Invite",
26 protected Message(String name
)
28 messages
.put(name
.toUpperCase(), this);
31 public void onUser(User source
, String
[] params
) { }
32 public void onServer(Server source
, String
[] params
) { }
33 public void on(String source
, String
[] params
) { }
35 private static HashMap
<String
, Message
> messages
;
37 public static Message
findMessage(String name
)
39 return messages
.get(name
.toUpperCase());
42 public static void reload()
44 messages
= new HashMap
<String
, Message
>();
48 ClassLoader loader
= new ClassLoader("net.rizon.acid.messages.");
50 for (String s
: messageClasses
)
51 loader
.loadClass(messageBase
+ "." + s
).newInstance();
55 log
.error("Error initializing messages", ex
);