1 package org.inigma.utopia.paper;
2
3 import java.util.logging.Level;
4 import java.util.logging.Logger;
5
6 import org.inigma.utopia.paper.events.AbstractEvent;
7 import org.inigma.utopia.paper.events.AidEvent;
8 import org.inigma.utopia.paper.events.AttackEvent;
9 import org.inigma.utopia.paper.events.CancelCeaseFireEvent;
10 import org.inigma.utopia.paper.events.CaptureLandEvent;
11 import org.inigma.utopia.paper.events.CeaseFireEvent;
12 import org.inigma.utopia.paper.events.DefectEvent;
13 import org.inigma.utopia.paper.events.DragonSentEvent;
14 import org.inigma.utopia.paper.events.DragonStartEvent;
15 import org.inigma.utopia.paper.events.KilledEvent;
16 import org.inigma.utopia.paper.events.MassacreEvent;
17 import org.inigma.utopia.paper.events.RelationsEvent;
18 import org.inigma.utopia.paper.events.UnknownEvent;
19 import org.inigma.utopia.paper.events.WarBeganEvent;
20 import org.inigma.utopia.paper.events.WarDeclaredEvent;
21 import org.inigma.utopia.paper.events.WarLoseEvent;
22 import org.inigma.utopia.paper.events.WarWinEvent;
23
24 public enum PaperEvent {
25 Aid(AidEvent.class),
26 Attack(AttackEvent.class),
27 CancelCeaseFire(CancelCeaseFireEvent.class),
28 CeaseFire(CeaseFireEvent.class),
29 CaptureLand(CaptureLandEvent.class),
30 Defect(DefectEvent.class),
31 DragonSent(DragonSentEvent.class),
32 DragonStart(DragonStartEvent.class),
33 Killed(KilledEvent.class),
34 Massacred(MassacreEvent.class),
35 Relations(RelationsEvent.class),
36 WarBegan(WarBeganEvent.class),
37 WarDeclared(WarDeclaredEvent.class),
38 WarLose(WarLoseEvent.class),
39 WarWin(WarWinEvent.class),
40
41 ;
42 private AbstractEvent eventTemplate;
43
44 private PaperEvent(Class<? extends AbstractEvent> eventType) {
45 Logger localLog = Logger.getLogger(getClass().getName());
46 try {
47 eventTemplate = eventType.newInstance();
48 } catch (InstantiationException e) {
49 localLog.log(Level.SEVERE, "TODO", e);
50 } catch (IllegalAccessException e) {
51 localLog.log(Level.SEVERE, "TODO", e);
52 }
53 }
54
55 public AbstractEvent getEvent(String text) {
56 return eventTemplate.getEvent(text);
57 }
58 }