initial checkin
authorStefan Vogel <sv@exept.de>
Wed, 06 Feb 2002 20:10:11 +0100
changeset 6379 ecdfef1013c8
parent 6378 92528d611859
child 6380 457773bd81f9
initial checkin
AbstractObjectCoder.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AbstractObjectCoder.st	Wed Feb 06 20:10:11 2002 +0100
@@ -0,0 +1,149 @@
+"{ Package: 'stx:libbasic' }"
+
+Object subclass:#AbstractObjectCoder
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'System-Storage'
+!
+
+!AbstractObjectCoder class methodsFor:'documentation'!
+
+documentation
+"
+    This class is defines #encodeXXX:with: messages for various kinds of objects.
+    Any of these messsages is mapped to #encodeObject:with:.
+
+    When a class redefines #encodeOn:with:, an method has to be defined here, too.
+
+    Subclasses have to define at least #encodeObject:with:
+
+    [author:]
+        Stefan Vogel (stefan@zwerg)
+
+    [see also:]
+        Object>>encodeOn:with:
+"
+! !
+
+!AbstractObjectCoder methodsFor:'encoding-smalltalk-types'!
+
+encodeAbsoluteTime:anAbsoluteTime with:aParameter
+    "encode an absolute time value"
+
+    self encodeObject:anAbsoluteTime with:aParameter
+
+
+!
+
+encodeBitArray:aBitArray with:aParameter
+    "encode a BitArray"
+
+    self encodeObject:aBitArray with:aParameter
+
+
+!
+
+encodeBoolean:aBoolean with:aParameter
+    "encode a Boolean"
+
+    self encodeObject:aBoolean with:aParameter
+
+
+!
+
+encodeByteArray:aByteArray with:aParameter
+    "encode an absolute time value"
+
+    self encodeObject:aByteArray with:aParameter
+
+
+!
+
+encodeCharacter:aCharacter with:aParameter
+    "encode a Character"
+
+    self encodeObject:aCharacter with:aParameter
+
+
+!
+
+encodeDictionary:aDictionary with:aParameter
+    "encode a Dictionary"
+
+    self encodeObject:aDictionary with:aParameter
+
+
+!
+
+encodeFloat:aFloat with:aParameter
+    "encode a Float"
+
+    self encodeObject:aFloat with:aParameter
+
+
+!
+
+encodeInteger:anInteger with:aParameter
+    "encode an Integer"
+
+    self encodeObject:anInteger with:aParameter
+
+
+!
+
+encodeNilWith:aParameter
+    "encode a nil"
+
+    self encodeObject:nil with:aParameter
+
+
+!
+
+encodeSequencableCollection:aCollection with:aParameter
+    "encode a SequencableCollection"
+
+    self encodeObject:aCollection with:aParameter
+
+
+!
+
+encodeSet:aCollection with:aParameter
+    "encode a Set"
+
+    self encodeObject:aCollection with:aParameter
+
+
+!
+
+encodeString:aString with:aParameter
+    "encode a String"
+
+    self encodeObject:aString with:aParameter
+
+
+!
+
+encodeSymbol:aSymbol with:aParameter
+    "encode a Symbol"
+
+    self encodeObject:aSymbol with:aParameter
+
+
+! !
+
+!AbstractObjectCoder methodsFor:'subclass responsibility'!
+
+encodeObject:anObject with:aParameter
+    "encode an object. Subclasses must implement this method"
+
+    self subclassResponsibility
+
+
+! !
+
+!AbstractObjectCoder class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/AbstractObjectCoder.st,v 1.1 2002-02-06 19:10:11 stefan Exp $'
+! !