Message.kt 1.08 KB
package application.model

import java.time.LocalDateTime

class Message(split: List<String>) {
    val mmsi = MMSI(split[0].toIntOrNull())
    val time = Time(LocalDateTime.parse(split[1]))
    val latitude = Latitude(split[2].toDoubleOrNull())
    val longitude = Longitude(split[3].toDoubleOrNull())
    val speedOverGround = SpeedOverGround(split[4].toDoubleOrNull())
    val courseOverGround = CourseOverGround(split[5].toDoubleOrNull())
    val heading = Heading(split[6].toDoubleOrNull())
    val vesselName = VesselName(split[7])
    val imo = IMO(split[8])
    val callSign = CallSign(split[9])
    val vesselType = VesselType(split[10].toIntOrNull())
    val status = Status(split[11])
    val length = Length(split[12].toDoubleOrNull())
    val width = Width(split[13].toDoubleOrNull())
    val draft = Draft(split[14].toDoubleOrNull())
    val cargo = Cargo(split[15].toIntOrNull())


    fun getHexColorStroke(): String {
        var hex = Integer.toHexString(this.mmsi.value!!)
        if (hex.length > 6) {
            hex = hex.substring(hex.length - 6)
        }
        return hex
    }
}