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