diff options
author | Ben Burwell <ben.burwell@trifecta.com> | 2016-11-15 23:43:08 -0500 |
---|---|---|
committer | Ben Burwell <ben.burwell@trifecta.com> | 2016-11-15 23:43:08 -0500 |
commit | 54b0fab72106672ea1d9ca4d81d782b6bf1c6820 (patch) | |
tree | 3928fbfc9e0021d15326caa4500b98db13b0a75b /src/com/benburwell/planes/data/Aircraft.java | |
parent | e2ae5749a522b0d4d2657a2cac571b1524d33cfa (diff) |
Implement data table
Diffstat (limited to 'src/com/benburwell/planes/data/Aircraft.java')
-rw-r--r-- | src/com/benburwell/planes/data/Aircraft.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/com/benburwell/planes/data/Aircraft.java b/src/com/benburwell/planes/data/Aircraft.java new file mode 100644 index 0000000..71ee5b5 --- /dev/null +++ b/src/com/benburwell/planes/data/Aircraft.java @@ -0,0 +1,66 @@ +package com.benburwell.planes.data; + +import com.benburwell.planes.sbs.SBSPacket; + +import java.util.List; +import java.util.ArrayList; + +/** + * Created by ben on 11/15/16. + */ +public class Aircraft implements Comparable<Aircraft> { + private final String hexIdent; + private Position currentPosition = new Position(); + private List<Position> positionHistory = new ArrayList<>(); + private String callsign = ""; + private String squawk = ""; + private long packetCount = 0; + + public Aircraft(String hexIdent) { + this.hexIdent = hexIdent; + } + + public void handleUpdate(SBSPacket packet) { + this.packetCount++; + if (packet.getAltitude() != null) { + this.currentPosition.setAltitude(packet.getAltitude()); + } + if (packet.getLatitude() != null) { + this.currentPosition.setLatitude(packet.getLatitude()); + } + if (packet.getLongitude() != null) { + this.currentPosition.setLongitude(packet.getLongitude()); + } + if (packet.getCallsign() != null && !packet.getCallsign().isEmpty()) { + this.callsign = packet.getCallsign(); + } + if (packet.getSquawk() != null && !packet.getSquawk().isEmpty()) { + this.callsign = packet.getSquawk(); + } + } + + public Position getCurrentPosition() { + return currentPosition; + } + + public String getCallsign() { + return callsign; + } + + public String getSquawk() { + return squawk; + } + + public Long getPacketCount() { + return packetCount; + } + + public String getHexIdent() { + return this.hexIdent; + } + + @Override + public int compareTo(Aircraft that) { + return this.getHexIdent().compareTo(that.getHexIdent()); + } +} |