1 package org.opentrafficsim.sim0mq.publisher;
2
3 import org.djunits.Throw;
4 import org.djutils.event.Event;
5 import org.djutils.event.EventType;
6 import org.djutils.event.EventTypeInterface;
7 import org.djutils.metadata.MetaData;
8 import org.djutils.serialization.EndianUtil;
9 import org.djutils.serialization.SerializationException;
10 import org.djutils.serialization.serializers.Pointer;
11 import org.djutils.serialization.serializers.Serializer;
12
13
14
15
16
17
18
19
20
21
22
23
24 public class EventSerializer<E extends Event> implements Serializer<Event>
25 {
26
27 private final EventType eventType;
28
29
30
31
32
33 EventSerializer(final EventType eventType)
34 {
35 this.eventType = eventType;
36 }
37
38
39 @Override
40 public int size(final Event event) throws SerializationException
41 {
42 EventTypeInterface et = event.getType();
43 Throw.when(et.equals(this.eventType), ClassCastException.class,
44 "EventSerializer for " + this.eventType.getName() + " cannot handle event " + event);
45 int result = et.getName().length();
46 MetaData metaData = this.eventType.getMetaData();
47 for (int index = 0; index < metaData.size(); index++)
48 {
49
50 }
51 return result;
52 }
53
54
55 @Override
56 public int sizeWithPrefix(final Event event) throws SerializationException
57 {
58 return 1 + size(event);
59 }
60
61
62 @Override
63 public byte fieldType()
64 {
65 return 33;
66 }
67
68
69 @Override
70 public void serialize(final Event object, final byte[] buffer, final Pointer pointer, final EndianUtil endianUtil)
71 throws SerializationException
72 {
73
74
75 }
76
77
78 @Override
79 public void serializeWithPrefix(final Event object, final byte[] buffer, final Pointer pointer, final EndianUtil endianUtil)
80 throws SerializationException
81 {
82
83
84 }
85
86
87 @Override
88 public Event deSerialize(final byte[] buffer, final Pointer pointer, final EndianUtil endianUtil)
89 throws SerializationException
90 {
91
92 return null;
93 }
94
95
96 @Override
97 public String dataClassName()
98 {
99
100 return null;
101 }
102
103
104 @Override
105 public final int getNumberOfDimensions()
106 {
107 return 0;
108 }
109
110 }