1 package org.sim0mq.message.federationmanager;
2
3 import org.djutils.serialization.SerializationException;
4 import org.sim0mq.Sim0MQException;
5 import org.sim0mq.message.MessageStatus;
6 import org.sim0mq.message.Sim0MQMessage;
7 import org.sim0mq.message.SimulationMessage;
8
9
10
11
12
13
14
15
16
17 public class FM9KillAllMessage extends Sim0MQMessage
18 {
19
20 private static final String MESSAGETYPE = "FM.9";
21
22
23 private static final long serialVersionUID = 20190712L;
24
25
26
27
28
29
30
31
32
33
34
35
36
37 @SuppressWarnings("checkstyle:parameternumber")
38 public FM9KillAllMessage(final Object simulationRunId, final Object senderId, final Object receiverId, final long messageId)
39 throws Sim0MQException, NullPointerException
40 {
41 super(simulationRunId, senderId, receiverId, MESSAGETYPE, messageId, MessageStatus.NEW);
42 }
43
44
45
46
47 public static final String getMessageType()
48 {
49 return MESSAGETYPE;
50 }
51
52
53 @Override
54 public short getNumberOfPayloadFields()
55 {
56 return 0;
57 }
58
59
60 @Override
61 public Object[] createObjectArray()
62 {
63 return new Object[] {getMagicNumber(), getSimulationRunId(), getSenderId(), getReceiverId(), getMessageTypeId(),
64 getMessageId(), getMessageStatus(), getNumberOfPayloadFields()};
65 }
66
67
68 @Override
69 public byte[] createByteArray() throws Sim0MQException, SerializationException
70 {
71 return SimulationMessage.encodeUTF8(getSimulationRunId(), getSenderId(), getReceiverId(), getMessageTypeId(),
72 getMessageId(), getMessageStatus());
73 }
74
75
76
77
78
79
80
81
82 public static FM9KillAllMessage createMessage(final Object[] fields, final Object intendedReceiverId) throws Sim0MQException
83 {
84 check(fields, 0, MESSAGETYPE, intendedReceiverId);
85 return new FM9KillAllMessage(fields[1], fields[2], fields[3], ((Long) fields[5]).longValue());
86 }
87
88
89
90
91
92
93
94
95
96
97 public static class Builder extends Sim0MQMessage.Builder<FM9KillAllMessage.Builder>
98 {
99
100
101
102 public Builder()
103 {
104
105 }
106
107
108 @Override
109 public FM9KillAllMessage build() throws Sim0MQException, NullPointerException
110 {
111 return new FM9KillAllMessage(this.simulationRunId, this.senderId, this.receiverId, this.messageId);
112 }
113
114 }
115 }