]> jfr.im git - irc/rizon/acid.git/blob - acid/src/main/java/net/rizon/acid/core/Event.java
7c104a64cdde4c3f7e6cf5ebc8acefdbce3e3713
[irc/rizon/acid.git] / acid / src / main / java / net / rizon / acid / core / Event.java
1 package net.rizon.acid.core;
2
3 import java.util.LinkedList;
4
5 public abstract class Event
6 {
7 public Event()
8 {
9 events.add(this);
10 }
11
12 public void remove()
13 {
14 events.remove(this);
15 }
16
17 public void onUserConnect(final User u) { }
18
19 public void onNickChange(final User u, final String oldnick) { }
20
21 public void onJoin(Channel channel, User[] users) { }
22
23 public void onPart(User user, Channel channel) { }
24
25 public void onKick(String kicker, User victim, Channel channel, String reason) { }
26
27 public boolean onPrivmsg(final String creator, final String recipient, final String msg) { return false; }
28 public void onCommandCertFPMismatch(final User u, final String certfp) { }
29
30 public boolean onNotice(final String creator, final String recipient, final String msg) { return false; }
31
32 public boolean onCTCP(final String creator, final String recipient, final String msg) { return false; }
33 public void onCTCPReply(User source, String target, String message) { }
34
35 public void onSync() { }
36 public void onEOB(Server server) { }
37
38 public void onKill(final String killer, User user, final String reason) { }
39
40 public void onQuit(User user, String msg) { }
41
42 public void onServerLink(Server server) { }
43
44 public void onServerDelink(Server server) { }
45
46 public void onUserMode(User user, String oldmodes, String newmodes) { }
47 public void onChanModes(String prefix, Channel chan, String modes) { }
48
49 public void onRehash() throws Exception { }
50
51 private static LinkedList<Event> events = new LinkedList<Event>();
52
53 public static final Event[] getEvents()
54 {
55 Event[] a = new Event[events.size()];
56 events.toArray(a);
57 return a;
58 }
59 }