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