Media Library Solution.ZIP

Media Library Solution

Your company is bidding for a contract to develop a media library consisting of songs, albums and playlists for an online music store. You are required to develop a prototype in the Java programming language that would help win the contract. Your solution should consist of the following classes:

 

Song (consisting of the following properties / attributes)



·         -  Title of the song

·         -  Artist of the song

·         -  Release year for the song

·         -  Catalog Number (a unique identifier for internal tracking purposes)

·         -  Duration of the song (in minutes and seconds)

·         -  Number of times the song has been played

 

Playlist (consisting of the following properties/attributes)



·         -  Name of the playlist

·         -  The date the playlist was created (should be automatically generated from the actual current date)

·         -  The date it was last updated (this would be the date a song was last added or removed – see next section)

·         -  Collection of songs on the playlist

 

Playlist need the following functionality:

·         -  The ability to add song to playlist

·         -  The ability to remove song from playlist

·         -  The ability to display the contents of the playlist

·         -  The ability to sort the playlist by song title, artist, year, and number of times played

The user should be able to perform the following tasks in a menu-driven system:

 

1.    Add song to playlist

2.    Remove song from playlist

3.    Given the name of an artist, list all songs by the artist in alphabetical order by song title

4.    List all songs by in descending order by number of downloads

5.    Given the name of a playlist, list all songs in playlist

6.    Given the title of a song, list the playlist(s) it is in (a song can be in more than one playlist or in none at all)

7.    Browse a playlist sorted by title, artist, year, and number of times played

Your program should have input validation, error-checking and handling.

Remember that your company does not have this contract yet, but is bidding for it and competing with others, so your solution should be as robust and accurate as possible. The contract will be awarded based on program correctness, user friendliness and modularity.

 
Powered by