#encodeInterval
authorStefan Vogel <sv@exept.de>
Tue, 10 Sep 2002 14:50:39 +0200
changeset 6747 6f749de322b2
parent 6746 8bbd639df663
child 6748 604366d06326
#encodeInterval
AbstractObjectCoder.st
Interval.st
--- a/AbstractObjectCoder.st	Tue Sep 10 14:08:05 2002 +0200
+++ b/AbstractObjectCoder.st	Tue Sep 10 14:50:39 2002 +0200
@@ -114,6 +114,14 @@
     self encodeNumber:anInteger with:aParameter
 !
 
+encodeInterval:anInterval with:aParameter
+    "intervals are a special flavor of sequenceable collection (saving memory)
+     We treat it as SequenceableCollection by default.
+     Encoders that do a dense representation, redefine this to #encodeObject"
+
+    ^ self encodeSequenceableCollection:anInterval with:aParameter
+!
+
 encodeNilWith:aParameter
     "encode a nil"
 
@@ -253,5 +261,5 @@
 !AbstractObjectCoder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/AbstractObjectCoder.st,v 1.5 2002-08-13 10:24:09 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/AbstractObjectCoder.st,v 1.6 2002-09-10 12:50:14 stefan Exp $'
 ! !
--- a/Interval.st	Tue Sep 10 14:08:05 2002 +0200
+++ b/Interval.st	Tue Sep 10 14:50:39 2002 +0200
@@ -215,6 +215,15 @@
     "
 ! !
 
+!Interval methodsFor:'encoding'!
+
+encodeOn:anEncoder with:aParameter
+    "this is special. Some encoders want to encode this as a sequenceable collection,
+     some want to encode a less expensive representation"
+
+    anEncoder encodeInterval:self with:aParameter
+! !
+
 !Interval methodsFor:'enumerating'!
 
 collect:aBlock
@@ -478,5 +487,5 @@
 !Interval class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Interval.st,v 1.34 2002-09-10 11:49:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Interval.st,v 1.35 2002-09-10 12:50:39 stefan Exp $'
 ! !