1 package net.sourceforge.rpgee.utility;
2
3 import net.sourceforge.rpgee.messaging.RpgMessage;
4 import net.sourceforge.rpgee.messaging.exceptions.RpgMessageException;
5
6 public enum SystemMessages implements RpgMessage {
7 START, REGISTER_CLIENT, DEREGISTER_CLIENT, REFRESH_CLIENT, STATUS_CLIENT, STATUS_SELF, STOP, SHUTDOWN;
8
9 public final Object getMessage() throws RpgMessageException {
10 return new SystemMessage(this);
11 }
12
13 private final class SystemMessage implements RpgMessage<SystemMessages> {
14
15 /**
16 *
17 */
18 private static final long serialVersionUID = -4627583332288420030L;
19 private SystemMessages message;
20
21 public SystemMessage(SystemMessages s) {
22 this.message = s;
23 }
24
25 public SystemMessages getMessage() throws RpgMessageException {
26 return message;
27 }
28
29 public RpgMessage<SystemMessages> duplicate() {
30 return new SystemMessage(message);
31 }
32
33 public boolean isFinishedProcessing() {
34 return false;
35 }
36
37 public void setFinishedProcessing() {
38 }
39 }
40
41 public RpgMessage duplicate() {
42 SystemMessage m = null;
43 try {
44 m = (SystemMessage) this.getMessage();
45 } catch (RpgMessageException e) {
46
47 }
48 return m.duplicate();
49 }
50
51 /**
52 * System messages never complete
53 */
54
55 public boolean isFinishedProcessing() {
56 return false;
57 }
58
59 public void setFinishedProcessing() {
60 }
61
62 }