<?xml version="1.0"?>

<st-source>



<class>
<name>Toyz</name>
<environment>Smalltalk</environment>
<super>Core.Object</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>toyzData </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>ToyzInc</category>
<attributes>
<package>(none)</package>
</attributes>
</class>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>Toyz class</class-id> <category>class initialization</category>

<body package="(none)">new
	^super new initialize</body>
</methods>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>Toyz</class-id> <category>instance-creation</category>

<body package="(none)">initialize
    toyzData := FileStuff new.</body>
</methods>

<methods>
<class-id>Toyz</class-id> <category>accessing</category>

<body package="(none)">getEmployees
	^toyzData getEmployees.</body>
</methods>
<new-page/>


<class>
<name>Employee</name>
<environment>Smalltalk</environment>
<super>Core.Object</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>number level firstName lastName </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>ToyzInc</category>
<attributes>
<package>(none)</package>
</attributes>
</class>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>Employee class</class-id> <category>class initialization</category>

<body package="(none)">new
	^super new</body>
</methods>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>Employee</class-id> <category>accessing</category>

<body package="(none)">firstName
 ^firstName</body>

<body package="(none)">firstName: aName
 firstName := aName.</body>

<body package="(none)">lastName
 ^lastName</body>

<body package="(none)">lastName: aName
 lastName := aName.</body>

<body package="(none)">level
 ^level</body>

<body package="(none)">level: aLevel
  level := aLevel.</body>

<body package="(none)">number
	^number</body>

<body package="(none)">number: aNumber
  number := aNumber.</body>

<body package="(none)">number: aNumber level: aLevel firstName: aFirstName lastName: aLastName
 self firstName: aFirstName.
 self number: aNumber.
 self lastName: aLastName.
 self level: aLevel.</body>
</methods>

<methods>
<class-id>Employee</class-id> <category>printing</category>

<body package="(none)">printOn: aStream
	aStream nextPutAll: (lastName, ':', firstName).</body>
</methods>

<methods>
<class-id>Employee</class-id> <category>operators</category>

<body package="(none)">&lt;= aEmployee
	^self lastName &lt;= aEmployee lastName</body>
</methods>
<new-page/>


<class>
<name>FileStuff</name>
<environment>Smalltalk</environment>
<super>Core.Object</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>employees directory </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>ToyzInc</category>
<attributes>
<package>(none)</package>
</attributes>
</class>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>FileStuff class</class-id> <category>class initialization</category>

<body package="(none)">new
	^super new initialize</body>
</methods>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>FileStuff</class-id> <category>instance-creation</category>

<body package="(none)">initialize
	directory := 'c:\vw72nc\web\sandbox\db\'.
	employees := SortedCollection new.</body>
</methods>

<methods>
<class-id>FileStuff</class-id> <category>accessing</category>

<body package="(none)">getEmployees
  | empFile separator stream number level firstName lastName |
  empFile := (directory, 'employees.txt') asFilename.
  separator := $,.   "comma"
  stream := empFile readStream lineEndCRLF. 
  [stream atEnd] whileFalse: [
   number := (stream upTo: separator).
   level := (stream upTo: separator).
   lastName := (stream upTo: separator).
   firstName := (stream upTo: separator).
   stream upTo: (Character cr).
   employees add: ((Employee new) number: number level: level firstName: firstName lastName: lastName ). 
  ].  
  stream close.
  ^employees.</body>
</methods>


































</st-source>

