summaryrefslogtreecommitdiff
path: root/altoslib/AltosRecord.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-01-09 15:29:01 -0800
committerKeith Packard <keithp@keithp.com>2013-01-10 21:44:11 -0800
commitf715b5da3424adacc5a7f1e001e1dd7fa6f50385 (patch)
tree596ea2ebb330a620825b3340b8401163888b19fc /altoslib/AltosRecord.java
parent42733d2823b1ecf54c03881fc120067868c0ff4c (diff)
altoslib: Clean up AltosRecord clone methods
Make the AltosRecord version abstract and then implement suitable versions in each subclass by creating copying constructors for each class. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosRecord.java')
-rw-r--r--altoslib/AltosRecord.java12
1 files changed, 2 insertions, 10 deletions
diff --git a/altoslib/AltosRecord.java b/altoslib/AltosRecord.java
index 09169515..2c4b6fa5 100644
--- a/altoslib/AltosRecord.java
+++ b/altoslib/AltosRecord.java
@@ -126,6 +126,8 @@ public abstract class AltosRecord implements Comparable <AltosRecord>, Cloneable
return tick - o.tick;
}
+ abstract public AltosRecord clone();
+
public void copy(AltosRecord old) {
seen = old.seen;
version = old.version;
@@ -144,16 +146,6 @@ public abstract class AltosRecord implements Comparable <AltosRecord>, Cloneable
kalman_height = old.kalman_height;
}
- public AltosRecord clone() {
- try {
- AltosRecord n = (AltosRecord) super.clone();
- n.copy(this);
- return n;
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
public AltosRecord() {
seen = 0;
version = 0;