Blame view
src/main/kotlin/application/model/MessageData.kt
4.67 KB
513c0341c add chart |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
package application.model import java.time.LocalDateTime interface MessageDataVisitor { fun visit(messageData: MMSI) fun visit(messageData: Time) fun visit(messageData: Latitude) fun visit(messageData: Longitude) fun visit(messageData: SpeedOverGround) fun visit(messageData: CourseOverGround) fun visit(messageData: Heading) fun visit(messageData: VesselName) fun visit(messageData: IMO) fun visit(messageData: CallSign) fun visit(messageData: VesselType) fun visit(messageData: Status) fun visit(messageData: Length) fun visit(messageData: Width) fun visit(messageData: Draft) fun visit(messageData: Cargo) } interface MessageData { fun accept(visitor: MessageDataVisitor) } data class MMSI(val value: Int?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Time(val value: LocalDateTime) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Latitude(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Longitude(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class SpeedOverGround(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class CourseOverGround(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Heading(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class VesselName(val value: String?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class IMO(val value: String?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class CallSign(val value: String?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class VesselType(val value: Int?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Status(val value: String?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Length(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Width(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Draft(val value: Double?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } data class Cargo(val value: Int?) : MessageData { override fun accept(visitor: MessageDataVisitor) = visitor.visit(messageData = this) } class GetValueVisitor() : MessageDataVisitor { var value: String = "" override fun visit(messageData: MMSI) { value = messageData.value.toString() } override fun visit(messageData: Time) { value = messageData.value.toString() } override fun visit(messageData: Latitude) { value = messageData.value.toString() } override fun visit(messageData: Longitude) { value = messageData.value.toString() } override fun visit(messageData: SpeedOverGround) { value = messageData.value.toString() } override fun visit(messageData: CourseOverGround) { value = messageData.value.toString() } override fun visit(messageData: Heading) { value = messageData.value.toString() } override fun visit(messageData: VesselName) { value = messageData.value.toString() } override fun visit(messageData: IMO) { value = messageData.value.toString() } override fun visit(messageData: CallSign) { value = messageData.value.toString() } override fun visit(messageData: VesselType) { value = messageData.value.toString() } override fun visit(messageData: Status) { value = messageData.value.toString() } override fun visit(messageData: Length) { value = messageData.value.toString() } override fun visit(messageData: Width) { value = messageData.value.toString() } override fun visit(messageData: Draft) { value = messageData.value.toString() } override fun visit(messageData: Cargo) { value = messageData.value.toString() } } |