Class { #name : 'TCMessage', #superclass : 'Object', #instVars : [ 'sender', 'text', 'separator' ], #category : 'TinyChat', #package : 'TinyChat' } { #category : 'instance creation' } TCMessage class >> from: aSender text: aText [ ^ self new sender: aSender; text: aText; yourself ] { #category : 'instance creation' } TCMessage class >> fromString: aString [ ^ self new fromString: aString; yourself ] { #category : 'initialization' } TCMessage >> fromString: aString [ "Compose a message from a string of this form 'sender>message'." | items | items := aString substrings: separator. self sender: items first. self text: items second. ] { #category : 'initialization' } TCMessage >> initialize [ super initialize. separator := '>' ] { #category : 'printing' } TCMessage >> printOn: aStream [ "Generate a string representation of the receiver based on its instance variables." aStream << self sender; << separator; << self text; << String crlf ] { #category : 'accessing' } TCMessage >> sender [ ^ sender ] { #category : 'accessing' } TCMessage >> sender: anObject [ sender := anObject ] { #category : 'accessing' } TCMessage >> text [ ^ text ] { #category : 'accessing' } TCMessage >> text: anObject [ text := anObject ]