FinalTrackDatabase
Written by Jonas Altrock (ew20b126@technikum-wien.at).
The final assignment combines everything we have produced until this point
to create a usable application to administer a database of music tracks.
Most of the classes remain the same as in ES06. Notable changes are:
-
The interactive editing of
Track
objects now has to offer all fields for manipulation.
-
New comparators to sort the track container:
PerformerComparator,
and
YearComparator.
-
New matchers to allow filtering on all the track properties:
PerformerMatcher,
WriterMatcher,
and
YearMatcher.
-
Matchers now implement the ConsoleScanable interface.
This way the user can enter a new pattern for the matcher.
(It would have been best to implement this on the MyMatcher abstract class,
but I only realized this while writing the explanations.)
The biggest piece of code we have to write for this lab work is the
Main
application class. The provided skeleton offers a way to structure the interaction, with
the nested Menu and MenuItem classes.