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>
return tick - o.tick;
}
+ abstract public AltosRecord clone();
+
public void copy(AltosRecord old) {
seen = old.seen;
version = old.version;
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;
mag = old.mag;
}
+
+
public AltosRecordMM clone() {
- AltosRecordMM n = (AltosRecordMM) super.clone();
- n.copy(this);
- return n;
+ return new AltosRecordMM(this);
}
void make_missing() {
make_missing();
}
+ public AltosRecordMM(AltosRecordMM old) {
+ copy(old);
+ }
+
public AltosRecordMM() {
super();
make_missing();
super.copy(old);
}
+ public AltosRecordNone clone() {
+ return new AltosRecordNone(this);
+ }
+
public AltosRecordNone() {
super();
}
}
public AltosRecordTM clone() {
- AltosRecordTM n = (AltosRecordTM) super.clone();
- n.copy(this);
- return n;
+ return new AltosRecordTM(this);
}
void make_missing() {
make_missing();
}
+ public AltosRecordTM(AltosRecordTM old) {
+ copy(old);
+ }
+
public AltosRecordTM() {
super();
make_missing();