Course CSV to Courses
Up until now we've used public constructors to create instances of our classes.
But there are other patterns for enabling class creation, and this problem explores one.
Specifically, we're going to show how to deserialize a CSV String
into instances of a custom class.
Create a public
final
class named Course
.
Course should not provide a public constructor, although you will probably want to create a private
one.
Instead, Course
should provide a class method named fromCSV
which takes a single String
argument and
returns an array of Course
instances.
Each Course
maintains a department
and a number
, both String
s.
Here's how they are loaded from a CSV String
.
Given the following CSV contents:
CS, 125
IE, 333
MUS, 230
You should return an array containing three Course
instances: the first with
department="CS"
and number="125"
, the second with department="IE"
and number="333"
, etc.
Your array should contain the courses in the same order in which they appear in the CSV String
.
(Your fromCSV
method should assert that the passed String
is not null
or empty.)
Finally, Course
should provide getters for the department and number named getDepartment
and getNumber
,
respectively.
To complete this problem you'll want to review our previous work with CSV String
s, and apply what you now know
about constructing objects. Have fun!