1 package run;
2 import run.trackwriters.GidTrackWriter;
3 
4 public abstract class TrackWriter implements uka.patch.Patchable, uka.transport.Transportable, java.io.Serializable {
createPatch(Object _copy, uka.patch.PatchOutput po)5    public void createPatch(Object _copy, uka.patch.PatchOutput po) throws java.io.IOException {
6       TrackWriter copy = (TrackWriter)_copy;
7       copy.tracker_print_types = this.tracker_print_types = (boolean[])po.writeDiff(this.tracker_print_types, copy.tracker_print_types);
8       copy.trackerlist = this.trackerlist = (run.RplVector)po.writeDiff(this.trackerlist, copy.trackerlist);
9    }
applyPatch(Object _copy, uka.patch.PatchInput pi)10    public void applyPatch(Object _copy, uka.patch.PatchInput pi) throws java.io.IOException, ClassNotFoundException {
11       TrackWriter copy = (TrackWriter)_copy;
12       if (pi.hasDiff()) copy.tracker_print_types = this.tracker_print_types = (boolean[])pi.getDiffAsObject();
13       if (pi.hasDiff()) copy.trackerlist = this.trackerlist = (run.RplVector)pi.getDiffAsObject();
14    }
descendReferences(uka.patch.ReferenceConsumer c)15    public void descendReferences(uka.patch.ReferenceConsumer c) throws java.io.IOException {
16       c.descend(this.tracker_print_types);
17       c.descend(this.trackerlist);
18    }
filterReferences(uka.patch.ReferenceFilter f)19    public void filterReferences(uka.patch.ReferenceFilter f) {
20       this.tracker_print_types = (boolean[])f.filter(this.tracker_print_types);
21       this.trackerlist = (run.RplVector)f.filter(this.trackerlist);
22    }
flatClone()23    public Object flatClone() {
24       try {
25          return super.clone();
26       }  catch (CloneNotSupportedException ex) {
27          throw new AssertionError("Declared Cloneable but clone() is still unsupported");
28       }
29    }
TrackWriter(uka.transport.UnmarshalStream _stream, int _id)30    public TrackWriter(uka.transport.UnmarshalStream _stream, int _id) throws java.io.IOException, ClassNotFoundException {
31       _stream.register(this, _id);
32    }
unmarshal(uka.transport.UnmarshalStream _stream)33    public void unmarshal(uka.transport.UnmarshalStream _stream) throws java.io.IOException, ClassNotFoundException {
34       this.tracker_print_types = (boolean[])_stream.readReference();
35       this.trackerlist = (run.RplVector)_stream.readReference();
36    }
marshalReference(uka.transport.MarshalStream _stream)37    public void marshalReference(uka.transport.MarshalStream _stream) throws java.io.IOException {
38    }
marshal(uka.transport.MarshalStream _stream)39    public void marshal(uka.transport.MarshalStream _stream) throws java.io.IOException {
40       _stream.writeReference(this.tracker_print_types);
41       _stream.writeReference(this.trackerlist);
42    }
TrackWriter(TrackWriter _orig, int _id, uka.transport.DeepClone _helper)43    public TrackWriter(TrackWriter _orig, int _id, uka.transport.DeepClone _helper) throws CloneNotSupportedException, java.io.IOException {
44       _helper.add(_id, this);
45    }
deepCloneReferences(TrackWriter _orig, uka.transport.DeepClone _helper)46    public void deepCloneReferences(TrackWriter _orig, uka.transport.DeepClone _helper) throws CloneNotSupportedException {
47       this.tracker_print_types = (boolean[])_helper.internalDeepClone(_orig.tracker_print_types);
48       this.trackerlist = (run.RplVector)_helper.internalDeepClone(_orig.trackerlist);
49    }
50    protected RplVector trackerlist;
51    protected boolean[] tracker_print_types;
TrackWriter(RplVector tlist)52    public TrackWriter(RplVector tlist) {
53       super();
54       this.trackerlist = tlist;
55    }
getTrackWriterOfType_Fembic(String type, RplVector trackerlist)56    public static TrackWriter getTrackWriterOfType_Fembic(String type, RplVector trackerlist) throws java.lang.IllegalArgumentException {
57       if (type.toUpperCase().equals("GIDTRACKWRITER")) {
58          return new GidTrackWriter(trackerlist);
59       }
60       throw new IllegalArgumentException("Illegal TrackWriter Type");
61    }
write(double time)62    public abstract void write(double time);
initialize()63    public abstract void initialize();
checkIndata()64    public abstract void checkIndata() throws IllegalArgumentException;
65 }
66