|
|
|
@ -5,55 +5,62 @@
|
|
|
|
|
```plantuml
|
|
|
|
|
@startuml
|
|
|
|
|
class Artist {
|
|
|
|
|
- string name
|
|
|
|
|
+ string Name
|
|
|
|
|
+ Artist(string name)
|
|
|
|
|
+ Artist()
|
|
|
|
|
+ boolean Equals(object obj)
|
|
|
|
|
+ int GetHashCode()
|
|
|
|
|
+ string ToString()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Album {
|
|
|
|
|
- string name
|
|
|
|
|
- string description
|
|
|
|
|
- string imageURL
|
|
|
|
|
- string information
|
|
|
|
|
+ Album(string name, string file_Name, Artist artist, string description, string information)
|
|
|
|
|
- {static} long nbAlbum = 0
|
|
|
|
|
+ long ID
|
|
|
|
|
+ string Name
|
|
|
|
|
+ string Description
|
|
|
|
|
+ string ImageURL
|
|
|
|
|
+ string Information
|
|
|
|
|
+ Artist Artist
|
|
|
|
|
+ ObservableCollection<InfoTitle> InfoTitles
|
|
|
|
|
+ Album(string name, string imageURL, Artist artist, string description, string information)
|
|
|
|
|
+ Album()
|
|
|
|
|
+ void AddTitle(Title title)
|
|
|
|
|
+ void RemoveTitle(Title title)
|
|
|
|
|
+ void AddTitle(InfoTitle title)
|
|
|
|
|
+ void RemoveTitle(InfoTitle title)
|
|
|
|
|
+ boolean Equals(object obj)
|
|
|
|
|
+ int GetHashCode()
|
|
|
|
|
+ string ToString()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Playlist {
|
|
|
|
|
- string name
|
|
|
|
|
- string description
|
|
|
|
|
- string imageURL
|
|
|
|
|
- int index = 0
|
|
|
|
|
+ boolean shuffle = false
|
|
|
|
|
+ boolean loop = false
|
|
|
|
|
+ string Name
|
|
|
|
|
+ string Description
|
|
|
|
|
+ ObservableCollection<CustomTitle> Titles
|
|
|
|
|
+ string ImageURL
|
|
|
|
|
+ int Index
|
|
|
|
|
+ boolean Shuffle = false
|
|
|
|
|
+ boolean looptitle = false
|
|
|
|
|
- List<int> played
|
|
|
|
|
+ IEnumerable<int> played
|
|
|
|
|
+ bool IsSubMenuVisible
|
|
|
|
|
+ Playlist(string nom, string description, string imageURL)
|
|
|
|
|
+ Playlist()
|
|
|
|
|
+ void AddTitle(CustomTitle morceau)
|
|
|
|
|
+ void RemoveTitle(CustomTitle morceau)
|
|
|
|
|
+ void NextTitle()
|
|
|
|
|
+ void PreviousTitle()
|
|
|
|
|
+ Title? GetCurrentTitle()
|
|
|
|
|
+ CustomTitle NextTitle()
|
|
|
|
|
+ CustomTitle PreviousTitle()
|
|
|
|
|
+ CustomTitle GetCurrentTitle()
|
|
|
|
|
+ boolean Equals(object? obj)
|
|
|
|
|
+ int GetHashCode()
|
|
|
|
|
+ string ToString()
|
|
|
|
|
- int RandomGenerator(int n)
|
|
|
|
|
- {static} int RandomGenerator(int n)
|
|
|
|
|
+ bool HasCustomTitle(CustomTitle customTitle)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Title {
|
|
|
|
|
- string name
|
|
|
|
|
- string imageURL
|
|
|
|
|
- string information
|
|
|
|
|
+ string Name
|
|
|
|
|
+ string ImageURL
|
|
|
|
|
+ string Information
|
|
|
|
|
+ Title(string nom, string file_Name, string informations)
|
|
|
|
|
+ boolean Equals(object? obj)
|
|
|
|
|
+ boolean Equals(object obj)
|
|
|
|
|
+ int GetHashCode()
|
|
|
|
|
+ string ToString()
|
|
|
|
|
}
|
|
|
|
@ -81,22 +88,27 @@ enum Genre
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class CustomTitle {
|
|
|
|
|
- string path
|
|
|
|
|
+ string Path
|
|
|
|
|
+ bool IsSubManuVisible
|
|
|
|
|
+ bool IsPlaylistMenuVisible
|
|
|
|
|
+ bool IsNewPlaylistMenuVisible
|
|
|
|
|
+ CustomTitle(string name, string imageURL, string information, string path)
|
|
|
|
|
+ CustomTitle()
|
|
|
|
|
+ boolean Equals(object? obj)
|
|
|
|
|
+ boolean Equals(object obj)
|
|
|
|
|
+ int GetHashCode()
|
|
|
|
|
+ string ToString()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class InfoTitle {
|
|
|
|
|
- string description
|
|
|
|
|
- List<Artist> feat
|
|
|
|
|
+ InfoTitle(string name, string imageURL, string information, Artist artist, string description, Genre genre)
|
|
|
|
|
+ string Description
|
|
|
|
|
+ IEnumerable<Artist> Feat
|
|
|
|
|
+ Genre Genre
|
|
|
|
|
+ long AlbumID
|
|
|
|
|
+ InfoTitle(string name, string imageURL, string information, Artist artist, string description, Genre genre, long albumID)
|
|
|
|
|
+ InfoTitle()
|
|
|
|
|
+ void AddFeat(Artist artist)
|
|
|
|
|
+ void RemoveFeat(Artist artiste)
|
|
|
|
|
+ boolean Equals(object? obj)
|
|
|
|
|
+ boolean Equals(object obj)
|
|
|
|
|
+ int GetHashCode()
|
|
|
|
|
+ string ToString()
|
|
|
|
|
|
|
|
|
@ -113,28 +125,27 @@ interface IDataManager {
|
|
|
|
|
+ void AddCustomTitles(List<CustomTitle> customTitlesList)
|
|
|
|
|
+ void AddInfoTitle(InfoTitle title)
|
|
|
|
|
+ void AddInfoTitles(List<InfoTitle> infoTitlesList)
|
|
|
|
|
+ List<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ CustomTitle? GetCustomTitleByUrl(string custom)
|
|
|
|
|
+ List<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ InfoTitle? GetInfoTitleByUrl(string url)
|
|
|
|
|
+ List<Album> GetAlbums()
|
|
|
|
|
+ Album? GetAlbumByUrl(string url)
|
|
|
|
|
+ ObservableCollection<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ CustomTitle GetCustomTitleByPath(string custom)
|
|
|
|
|
+ ObservableCollection<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ InfoTitle GetInfoTitleByName(string name)
|
|
|
|
|
+ ObservableCollection<Album> GetAlbums()
|
|
|
|
|
+ Album GetAlbumByName(string name)
|
|
|
|
|
+ Album GetAlbumById(long id)
|
|
|
|
|
+ List<Artist> GetArtists()
|
|
|
|
|
+ Artist? GetArtistByName(string name)
|
|
|
|
|
+ List<Playlist> GetPlaylists()
|
|
|
|
|
+ Playlist? GetPlaylistByUrl(string url)
|
|
|
|
|
+ Artist GetArtistByName(string name)
|
|
|
|
|
+ ObservableCollection<Playlist> GetPlaylists()
|
|
|
|
|
+ Playlist GetPlaylistByName(string name)
|
|
|
|
|
+ void UpdateCustomTitle(CustomTitle title, string name, string url, string info, string path)
|
|
|
|
|
+ void UpdateCustomTitleByUrl(string url, string name, string newUrl, string info, string path)
|
|
|
|
|
+ void UpdateCustomTitleByPath(string path, string name, string newUrl, string info, string newPath)
|
|
|
|
|
+ void UpdateInfoTitle(InfoTitle title, string name, string url, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByName(string url, string name, string newUrl, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByArtistName(InfoTitle title, string name, string url, string info, string artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByNameByArtistName(string url, string name, string newUrl, string info, string artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByName(string name, string newUrl, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateAlbum(Album album, string name, string url, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByUrl(string url, string name, string newUrl, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByName(string name, string newUrl, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByArtistName(Album album, string name, string url, string artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByUrlByArtistName(string url, string name, string newUrl, string artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByNameByArtistName(string name, string newUrl, string artist, string description, string info)
|
|
|
|
|
+ void UpdatePlaylist(Playlist playlist, string name, string description, string url)
|
|
|
|
|
+ void UpdatePlaylistByUrl(string url, string name, string description, string newUrl)
|
|
|
|
|
+ void UpdatePlaylistByName(string name, string description, string newUrl)
|
|
|
|
|
+ void UpdateArtist(Artist artist, string name)
|
|
|
|
|
+ void UpdateArtistByName(string name, string newName)
|
|
|
|
|
+ void RemoveAlbum(Album album)
|
|
|
|
@ -149,30 +160,40 @@ interface IDataManager {
|
|
|
|
|
+ void RemoveInfoTitles(List<InfoTitle> infoTitlesList)
|
|
|
|
|
+ void LoadSerialization()
|
|
|
|
|
+ void SaveSerialization()
|
|
|
|
|
+ boolean ExistsPlaylist(Playlist playlist)
|
|
|
|
|
+ boolean ExistsPlaylistByUrl(string url)
|
|
|
|
|
+ boolean ExistsAlbum(Album album)
|
|
|
|
|
+ boolean ExistsAlbumByUrl(string url)
|
|
|
|
|
+ boolean ExistsArtist(Artist artist)
|
|
|
|
|
+ boolean ExistsArtistByName(string name)
|
|
|
|
|
+ boolean ExistsCustomTitle(CustomTitle title)
|
|
|
|
|
+ boolean ExistsCustomTitleByUrl(string url)
|
|
|
|
|
+ boolean ExistsInfoTitle(InfoTitle title)
|
|
|
|
|
+ boolean ExistsInfoTitleByUrl(string url)
|
|
|
|
|
+ bool ExistsPlaylist(Playlist playlist)
|
|
|
|
|
+ bool ExistsPlaylistByName(string name)
|
|
|
|
|
+ bool ExistsAlbum(Album album)
|
|
|
|
|
+ bool ExistsAlbumByName(string name)
|
|
|
|
|
+ bool ExistsArtist(Artist artist)
|
|
|
|
|
+ bool ExistsArtistByName(string name)
|
|
|
|
|
+ bool ExistsCustomTitle(CustomTitle title)
|
|
|
|
|
+ bool ExistsCustomTitleByName(string name)
|
|
|
|
|
+ bool ExistsInfoTitle(InfoTitle title)
|
|
|
|
|
+ bool ExistsInfoTitleByName(string name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Manager {
|
|
|
|
|
+ {static} int MAX_NAME_LENGTH = 75
|
|
|
|
|
+ {static} int MAX_DESCRIPTION_LENGTH = 500
|
|
|
|
|
+ {static} string DEFAULT_NAME = "Unknown"
|
|
|
|
|
+ {static} string DEFAULT_URL = "none.png"
|
|
|
|
|
+ {static} string DEFAULT_DESC = ""
|
|
|
|
|
- List<Album> albums
|
|
|
|
|
- List<CustomTitle> customTitles
|
|
|
|
|
- List<InfoTitle> infoTitles
|
|
|
|
|
- List<Playlist> playlists
|
|
|
|
|
- List<Artist> artists
|
|
|
|
|
+ {static} readonly int MAX_NAME_LENGTH = 75
|
|
|
|
|
+ {static} readonly int MAX_DESCRIPTION_LENGTH = 500
|
|
|
|
|
+ {static} readonly string DEFAULT_NAME = "Unknown"
|
|
|
|
|
+ {static} readonly string DEFAULT_URL = "none.png"
|
|
|
|
|
+ {static} readonly string DEFAULT_DESC = ""
|
|
|
|
|
+ IDataManager DataManager
|
|
|
|
|
- ObservableCollection<Album> Albums
|
|
|
|
|
- ObservableCollection<CustomTitle> CustomTitles
|
|
|
|
|
- ObservableCollection<InfoTitle> InfoTitles
|
|
|
|
|
- ObservableCollection<Playlist> Playlists
|
|
|
|
|
- ObservableCollection<Artist> Artists
|
|
|
|
|
+ Album CurrentAlbum
|
|
|
|
|
+ Playlist CurrentPlaylist
|
|
|
|
|
+ InfoTitle CurrentInfoTitle
|
|
|
|
|
+ CustomTitle CurrentPlaying
|
|
|
|
|
+ Manager(IDataManager dataManager)
|
|
|
|
|
+ void NextTitle()
|
|
|
|
|
+ void PreviousTitle()
|
|
|
|
|
+ CustomTitle CurrentTitle()
|
|
|
|
|
+ void Loop()
|
|
|
|
|
+ void Shuffle()
|
|
|
|
|
+ void AddAlbum(Album album)
|
|
|
|
|
+ void AddCustomTitle(CustomTitle title)
|
|
|
|
|
+ void AddInfoTitle(InfoTitle title)
|
|
|
|
@ -182,70 +203,82 @@ class Manager {
|
|
|
|
|
+ void RemoveCustomTitle(CustomTitle title)
|
|
|
|
|
+ void RemoveInfoTitle(InfoTitle title)
|
|
|
|
|
+ void RemovePlaylist(Playlist playlist)
|
|
|
|
|
+ IEnumerable<Playlist> GetPlaylists()
|
|
|
|
|
+ IEnumerable<Album> GetAlbums()
|
|
|
|
|
+ IEnumerable<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ IEnumerable<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ IEnumerable<Artist> GetArtists()
|
|
|
|
|
+ ObservableCollection<Playlist> GetPlaylists()
|
|
|
|
|
+ ObservableCollection<Album> GetAlbums()
|
|
|
|
|
+ ObservableCollection<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ ObservableCollection<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ ObservableCollection<Artist> GetArtists()
|
|
|
|
|
+ void LoadSerialization()
|
|
|
|
|
+ void SaveSerialization()
|
|
|
|
|
|
|
|
|
|
+ Playlist GetPlaylistByName(string name)
|
|
|
|
|
+ Artist GetArtistByName(string name)
|
|
|
|
|
+ CustomTitle GetCustomTitleByPath(string path)
|
|
|
|
|
+ InfoTitle GetInfoTitleByName(string name)
|
|
|
|
|
+ Album GetAlbumByName(string name)
|
|
|
|
|
+ Album GetAlbumById(long id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class StubAlbum {
|
|
|
|
|
+ StubArtist StubArtist
|
|
|
|
|
+ ObservableCollection<Album> Albums
|
|
|
|
|
+ StubAlbum()
|
|
|
|
|
+ List<Album> GetAlbums()
|
|
|
|
|
+ Album? GetAlbumByUrl(string url)
|
|
|
|
|
+ ObservableCollection<Album> GetAlbums()
|
|
|
|
|
+ Album GetAlbumByName(string name)
|
|
|
|
|
+ void AddAlbum(Album album)
|
|
|
|
|
+ void RemoveAlbum(Album album)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class StubArtist {
|
|
|
|
|
+ List<Artist> Artists
|
|
|
|
|
+ StubArtist()
|
|
|
|
|
+ List<Artist> GetArtists()
|
|
|
|
|
+ Artist? GetArtistByName(string name)
|
|
|
|
|
+ Artist GetArtistByName(string name)
|
|
|
|
|
+ void AddArtist(Artist artist)
|
|
|
|
|
+ void RemoveArtist(Artist artist)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class StubCustomTitle {
|
|
|
|
|
+ ObservableCollection<CustomTitle> CustomTitles
|
|
|
|
|
+ StubCustomTitle()
|
|
|
|
|
+ List<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ List<CustomTitle> GetCustomTitlesByUrl(List<string> urls)
|
|
|
|
|
+ ObservableCollection<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ List<CustomTitle> GetCustomTitlesByNames(List<string> names)
|
|
|
|
|
+ void AddCustomTitle(CustomTitle customTitle)
|
|
|
|
|
+ void RemoveCustomTitle(CustomTitle customTitle)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class StubInfoTitle {
|
|
|
|
|
+ StubAlbum StubAlbum
|
|
|
|
|
+ ObservableCollection<InfoTitle> InfoTitles
|
|
|
|
|
+ StubInfoTitle()
|
|
|
|
|
+ List<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ List<InfoTitle> GetInfoTitlesByUrl(List<string> urls)
|
|
|
|
|
+ ObservableCollection<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ List<InfoTitle> GetInfoTitlesByNames(List<string> names)
|
|
|
|
|
+ void AddInfoTitle(InfoTitle title)
|
|
|
|
|
+ void RemoveInfoTitle(InfoTitle title)
|
|
|
|
|
+ {static} void AddFeat(InfoTitle infoTitle, Artist artist)
|
|
|
|
|
+ {static} void RemoveFeat(InfoTitle infoTitle, Artist artist)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class StubPlaylist {
|
|
|
|
|
+ ObservableCollection<Playlist> Playlists
|
|
|
|
|
+ StubPlaylist()
|
|
|
|
|
+ List<Playlist> GetPlaylists()
|
|
|
|
|
+ Playlist? GetPlaylistByUrl(string url)
|
|
|
|
|
+ ObservableCollection<Playlist> GetPlaylists()
|
|
|
|
|
+ Playlist GetPlaylistByName(string name)
|
|
|
|
|
+ void AddPlaylist(Playlist playlist)
|
|
|
|
|
+ void RemovePlaylist(Playlist playlist)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class StubManager {
|
|
|
|
|
+ StubAlbum StubAlbum
|
|
|
|
|
+ StubArtist StubArtist
|
|
|
|
|
+ StubCustomTitle StubCustomTitle
|
|
|
|
|
+ StubInfoTitle StubInfoTitle
|
|
|
|
|
+ StubPlaylist StubPlaylist
|
|
|
|
|
+ StubManager()
|
|
|
|
|
+ List<Album> GetAlbums()
|
|
|
|
|
+ ObservableCollection<Album> GetAlbums()
|
|
|
|
|
+ List<Artist> GetArtists()
|
|
|
|
|
+ List<Playlist> GetPlaylists()
|
|
|
|
|
+ List<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ List<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ ObservableCollection<Playlist> GetPlaylists()
|
|
|
|
|
+ ObservableCollection<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ ObservableCollection<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ void AddAlbum(Album album)
|
|
|
|
|
+ void AddCustomTitle(CustomTitle title)
|
|
|
|
|
+ void AddInfoTitle(InfoTitle title)
|
|
|
|
@ -259,28 +292,26 @@ class StubManager {
|
|
|
|
|
+ void RemoveArtist(Artist artist)
|
|
|
|
|
+ void LoadSerialization()
|
|
|
|
|
+ void SaveSerialization()
|
|
|
|
|
+ CustomTitle? GetCustomTitleByUrl(string custom)
|
|
|
|
|
+ InfoTitle? GetInfoTitleByUrl(string url)
|
|
|
|
|
+ Album? GetAlbumByUrl(string url)
|
|
|
|
|
+ Artist? GetArtistByName(string name)
|
|
|
|
|
+ CustomTitle GetCustomTitleByPath(string custom)
|
|
|
|
|
+ InfoTitle GetInfoTitleByName(string name)
|
|
|
|
|
+ Album GetAlbumByName(string name)
|
|
|
|
|
+ Artist GetArtistByName(string name)
|
|
|
|
|
+ void AddAlbums(List<Album> albumsList)
|
|
|
|
|
+ void AddArtists(List<Artist> artistsList)
|
|
|
|
|
+ void AddPlaylists(List<Playlist> playlistsList)
|
|
|
|
|
+ void AddCustomTitles(List<CustomTitle> customTitlesList)
|
|
|
|
|
+ void AddInfoTitles(List<InfoTitle> infoTitlesList)
|
|
|
|
|
+ Playlist? GetPlaylistByUrl(string url)
|
|
|
|
|
+ Playlist GetPlaylistByName(string name)
|
|
|
|
|
+ void UpdateCustomTitle(CustomTitle title, string name, string url, string info, string path)
|
|
|
|
|
+ void UpdateCustomTitleByUrl(string url, string name, string newUrl, string info, string path)
|
|
|
|
|
+ void UpdateCustomTitleByPath(string path, string name, string newUrl, string info, string newPath)
|
|
|
|
|
+ void UpdateInfoTitle(InfoTitle title, string name, string url, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByName(string url, string name, string newUrl, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByArtistName(InfoTitle title, string name, string url, string info, string artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByNameByArtistName(string url, string name, string newUrl, string info, string artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByName(string name, string newUrl, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateAlbum(Album album, string name, string url, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByUrl(string url, string name, string newUrl, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByName(string name, string newUrl, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByArtistName(Album album, string name, string url, string artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByUrlByArtistName(string url, string name, string newUrl, string artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByNameByArtistName(string name, string newUrl, string artist, string description, string info)
|
|
|
|
|
+ void UpdatePlaylist(Playlist playlist, string name, string description, string url)
|
|
|
|
|
+ void UpdatePlaylistByUrl(string url, string name, string description, string newUrl)
|
|
|
|
|
+ void UpdatePlaylistByName(string name, string description, string newUrl)
|
|
|
|
|
+ void UpdateArtist(Artist artist, string name)
|
|
|
|
|
+ void UpdateArtistByName(string name, string newName)
|
|
|
|
|
+ void RemoveAlbums(List<Album> albumsList)
|
|
|
|
@ -288,37 +319,40 @@ class StubManager {
|
|
|
|
|
+ void RemovePlaylists(List<Playlist> playlistsList)
|
|
|
|
|
+ void RemoveCustomTitles(List<CustomTitle> customTitlesList)
|
|
|
|
|
+ void RemoveInfoTitles(List<InfoTitle> infoTitlesList)
|
|
|
|
|
+ boolean ExistsPlaylist(Playlist playlist)
|
|
|
|
|
+ boolean ExistsPlaylistByUrl(string url)
|
|
|
|
|
+ boolean ExistsAlbum(Album album)
|
|
|
|
|
+ boolean ExistsAlbumByUrl(string url)
|
|
|
|
|
+ boolean ExistsArtist(Artist artist)
|
|
|
|
|
+ boolean ExistsArtistByName(string name)
|
|
|
|
|
+ boolean ExistsCustomTitle(CustomTitle title)
|
|
|
|
|
+ boolean ExistsCustomTitleByUrl(string url)
|
|
|
|
|
+ boolean ExistsInfoTitle(InfoTitle title)
|
|
|
|
|
+ boolean ExistsInfoTitleByUrl(string url)
|
|
|
|
|
|
|
|
|
|
+ bool ExistsPlaylist(Playlist playlist)
|
|
|
|
|
+ bool ExistsPlaylistByName(string name)
|
|
|
|
|
+ bool ExistsAlbum(Album album)
|
|
|
|
|
+ bool ExistsAlbumByName(string name)
|
|
|
|
|
+ bool ExistsArtist(Artist artist)
|
|
|
|
|
+ bool ExistsArtistByName(string name)
|
|
|
|
|
+ bool ExistsCustomTitle(CustomTitle title)
|
|
|
|
|
+ bool ExistsCustomTitleByName(string name)
|
|
|
|
|
+ bool ExistsInfoTitle(InfoTitle title)
|
|
|
|
|
+ bool ExistsInfoTitleByName(string name)
|
|
|
|
|
+ Album GetAlbumById(long id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class LinqXmlSerialization {
|
|
|
|
|
- {static} string XMLPATH
|
|
|
|
|
- {static} string XMLFILEPLAYLISTS
|
|
|
|
|
- {static} string XMLFILEALBUMS
|
|
|
|
|
- {static} string XMLFILECUSTOMS
|
|
|
|
|
- {static} string XMLFILEINFOS
|
|
|
|
|
- {static} string XMLFILEARTISTS
|
|
|
|
|
+ LinqXmlSerialization()
|
|
|
|
|
- string XMLPATH
|
|
|
|
|
- string XMLFILEPLAYLISTS
|
|
|
|
|
- string XMLFILECUSTOMS
|
|
|
|
|
+ StubInfoTitle StubInfoTitle
|
|
|
|
|
+ List<Artist> Artists
|
|
|
|
|
+ ObservableCollection<Album> Albums
|
|
|
|
|
+ ObservableCollection<Playlist> Playlists
|
|
|
|
|
+ ObservableCollection<InfoTitle> InfoTitles
|
|
|
|
|
+ ObservableCollection<CustomTitle> CustomTitles
|
|
|
|
|
+ LinqXmlSerialization(string pathDirectory)
|
|
|
|
|
+ void AddAlbum(Album album)
|
|
|
|
|
+ void AddArtist(Artist artist)
|
|
|
|
|
+ void AddCustomTitle(CustomTitle title)
|
|
|
|
|
+ void AddInfoTitle(InfoTitle title)
|
|
|
|
|
+ void AddPlaylist(Playlist playlist)
|
|
|
|
|
+ List<Album> GetAlbums()
|
|
|
|
|
+ ObservableCollection<Album> GetAlbums()
|
|
|
|
|
+ List<Artist> GetArtists()
|
|
|
|
|
+ List<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ List<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ List<Playlist> GetPlaylists()
|
|
|
|
|
+ ObservableCollection<CustomTitle> GetCustomTitles()
|
|
|
|
|
+ ObservableCollection<InfoTitle> GetInfoTitles()
|
|
|
|
|
+ ObservableCollection<Playlist> GetPlaylists()
|
|
|
|
|
+ void RemoveAlbum(Album album)
|
|
|
|
|
+ void RemoveArtist(Artist artist)
|
|
|
|
|
+ void RemoveCustomTitle(CustomTitle title)
|
|
|
|
@ -337,28 +371,27 @@ class LinqXmlSerialization {
|
|
|
|
|
+ void LoadInfoTitles()
|
|
|
|
|
+ void SaveInfoTitles()
|
|
|
|
|
+ {static} Genre GetGenreByName(string genre)
|
|
|
|
|
+ InfoTitle? GetInfoTitleByUrl(string url)
|
|
|
|
|
+ Artist? GetArtistByName(string name)
|
|
|
|
|
+ Album? GetAlbumByUrl(string url)
|
|
|
|
|
+ CustomTitle? GetCustomTitleByUrl(string custom)
|
|
|
|
|
+ InfoTitle GetInfoTitleByName(string name)
|
|
|
|
|
+ Artist GetArtistByName(string name)
|
|
|
|
|
+ Album GetAlbumByName(string name)
|
|
|
|
|
+ Album GetAlbumById(string id)
|
|
|
|
|
+ CustomTitle GetCustomTitleByPath(string custom)
|
|
|
|
|
+ void AddAlbums(List<Album> albumsList)
|
|
|
|
|
+ void AddArtists(List<Artist> artistsList)
|
|
|
|
|
+ void AddPlaylists(List<Playlist> playlistsList)
|
|
|
|
|
+ void AddCustomTitles(List<CustomTitle> customTitlesList)
|
|
|
|
|
+ void AddInfoTitles(List<InfoTitle> infoTitlesList)
|
|
|
|
|
+ Playlist? GetPlaylistByUrl(string url)
|
|
|
|
|
+ Playlist GetPlaylistByName(string name)
|
|
|
|
|
+ void UpdateCustomTitle(CustomTitle title, string name, string url, string info, string path)
|
|
|
|
|
+ void UpdateCustomTitleByUrl(string url, string name, string newUrl, string info, string path)
|
|
|
|
|
+ void UpdateCustomTitleByPath(string path, string name, string newUrl, string info, string newPath)
|
|
|
|
|
+ void UpdateInfoTitle(InfoTitle title, string name, string url, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByName(string url, string name, string newUrl, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByArtistName(InfoTitle title, string name, string url, string info, string artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByNameByArtistName(string url, string name, string newUrl, string info, string artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateInfoTitleByName(string name, string newUrl, string info, Artist artist, string description, Genre genre)
|
|
|
|
|
+ void UpdateAlbum(Album album, string name, string url, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByUrl(string url, string name, string newUrl, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByName(string name, string newUrl, Artist artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByArtistName(Album album, string name, string url, string artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByUrlByArtistName(string url, string name, string newUrl, string artist, string description, string info)
|
|
|
|
|
+ void UpdateAlbumByNameByArtistName(string name, string newUrl, string artist, string description, string info)
|
|
|
|
|
+ void UpdatePlaylist(Playlist playlist, string name, string description, string url)
|
|
|
|
|
+ void UpdatePlaylistByUrl(string url, string name, string description, string newUrl)
|
|
|
|
|
+ void UpdatePlaylistByName(string name, string description, string newUrl)
|
|
|
|
|
+ void UpdateArtist(Artist artist, string name)
|
|
|
|
|
+ void UpdateArtistByName(string name, string newName)
|
|
|
|
|
+ void RemoveAlbums(List<Album> albumsList)
|
|
|
|
@ -366,45 +399,85 @@ class LinqXmlSerialization {
|
|
|
|
|
+ void RemovePlaylists(List<Playlist> playlistsList)
|
|
|
|
|
+ void RemoveCustomTitles(List<CustomTitle> customTitlesList)
|
|
|
|
|
+ void RemoveInfoTitles(List<InfoTitle> infoTitlesList)
|
|
|
|
|
+ boolean ExistsPlaylist(Playlist playlist)
|
|
|
|
|
+ boolean ExistsPlaylistByUrl(string url)
|
|
|
|
|
+ boolean ExistsAlbum(Album album)
|
|
|
|
|
+ boolean ExistsAlbumByUrl(string url)
|
|
|
|
|
+ boolean ExistsArtist(Artist artist)
|
|
|
|
|
+ boolean ExistsArtistByName(string name)
|
|
|
|
|
+ boolean ExistsCustomTitle(CustomTitle title)
|
|
|
|
|
+ boolean ExistsCustomTitleByUrl(string url)
|
|
|
|
|
+ boolean ExistsInfoTitle(InfoTitle title)
|
|
|
|
|
+ boolean ExistsInfoTitleByUrl(string url)
|
|
|
|
|
+ bool ExistsPlaylist(Playlist playlist)
|
|
|
|
|
+ bool ExistsPlaylistByName(string name)
|
|
|
|
|
+ bool ExistsAlbum(Album album)
|
|
|
|
|
+ bool ExistsAlbumByName(string name)
|
|
|
|
|
+ bool ExistsArtist(Artist artist)
|
|
|
|
|
+ bool ExistsArtistByName(string name)
|
|
|
|
|
+ bool ExistsCustomTitle(CustomTitle title)
|
|
|
|
|
+ bool ExistsCustomTitleByName(string name)
|
|
|
|
|
+ bool ExistsInfoTitle(InfoTitle title)
|
|
|
|
|
+ bool ExistsInfoTitleByName(string name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Album o-- "+ artist" Artist
|
|
|
|
|
Album o-- "- titles*" Title
|
|
|
|
|
Playlist o-- "- titles*" Title
|
|
|
|
|
CustomTitle <|-- Title
|
|
|
|
|
InfoTitle <|-- Title
|
|
|
|
|
InfoTitle o-- "+ genre" Genre
|
|
|
|
|
InfoTitle o-- "+ artist" Artist
|
|
|
|
|
Manager *-- "+ datamanager" IDataManager
|
|
|
|
|
StubArtist *-- "- artists*" Artist
|
|
|
|
|
StubAlbum *-- "- stubArtist" StubArtist
|
|
|
|
|
StubAlbum *-- "- albums*" Album
|
|
|
|
|
StubCustomTitle *-- "- customTitles*" CustomTitle
|
|
|
|
|
StubInfoTitle *-- "- stubArtist" StubArtist
|
|
|
|
|
StubInfoTitle *-- "- infoTitles*" InfoTitle
|
|
|
|
|
StubPlaylist *-- "- playlists*" Playlist
|
|
|
|
|
StubManager <|-- IDataManager
|
|
|
|
|
StubManager *-- "- stubArtist" StubArtist
|
|
|
|
|
StubManager *-- "- stubPlaylist" StubPlaylist
|
|
|
|
|
StubManager *-- "- stubAlbum" StubAlbum
|
|
|
|
|
StubManager *-- "- stubInfoTitle" StubInfoTitle
|
|
|
|
|
StubManager *-- "- stubCustomTitle" StubCustomTitle
|
|
|
|
|
LinqXmlSerialization <|-- IDataManager
|
|
|
|
|
LinqXmlSerialization o-- "- artists*" Artist
|
|
|
|
|
LinqXmlSerialization o-- "- albums*" Album
|
|
|
|
|
LinqXmlSerialization o-- "- playlists*" Playlist
|
|
|
|
|
LinqXmlSerialization o-- "- infotitles*" InfoTitle
|
|
|
|
|
LinqXmlSerialization o-- "- customtitles*" CustomTitle
|
|
|
|
|
Album o-- "+ Artist" Artist
|
|
|
|
|
Album *-- "+ InfoTitles*" InfoTitle
|
|
|
|
|
Album .. Manager
|
|
|
|
|
|
|
|
|
|
Artist .. Manager
|
|
|
|
|
|
|
|
|
|
Playlist o-- "+ Titles*" CustomTitle
|
|
|
|
|
Playlist .. Manager
|
|
|
|
|
|
|
|
|
|
Title .. Manager
|
|
|
|
|
|
|
|
|
|
CustomTitle --|> Title
|
|
|
|
|
|
|
|
|
|
InfoTitle --|> Title
|
|
|
|
|
InfoTitle o-- "+ Genre" Genre
|
|
|
|
|
InfoTitle o-- "+ Artist" Artist
|
|
|
|
|
InfoTitle o-- "+ Feat*" Artist
|
|
|
|
|
|
|
|
|
|
Manager *-- "+ DataManager" IDataManager
|
|
|
|
|
Manager °-- "+ Albums*" Album
|
|
|
|
|
Manager °-- "+ Artists*" Artist
|
|
|
|
|
Manager °-- "+ InfoTitles*" InfoTitle
|
|
|
|
|
Manager °-- "+ Playlists*" Playlist
|
|
|
|
|
Manager °-- "+ CustomTitles*" CustomTitle
|
|
|
|
|
Manager °-- "+ CurrentAlbum" Album
|
|
|
|
|
Manager °-- "+ CurrentPlaylist" Playlist
|
|
|
|
|
Manager °-- "+ CurrentInfoTitle" InfoTitle
|
|
|
|
|
Manager °-- "+ CurrentPlaying" CustomTitle
|
|
|
|
|
|
|
|
|
|
StubArtist *-- "+ Artists*" Artist
|
|
|
|
|
|
|
|
|
|
StubAlbum *-- "+ StubArtist" StubArtist
|
|
|
|
|
StubAlbum °-- "+ Albums*" Album
|
|
|
|
|
|
|
|
|
|
StubCustomTitle *-- "+ CustomTitles*" CustomTitle
|
|
|
|
|
|
|
|
|
|
StubInfoTitle *-- "+ StubArtist" StubArtist
|
|
|
|
|
StubInfoTitle *-- "+ InfoTitles*" InfoTitle
|
|
|
|
|
|
|
|
|
|
StubPlaylist *-- "+ Playlists*" Playlist
|
|
|
|
|
|
|
|
|
|
StubManager --|> IDataManager
|
|
|
|
|
StubManager *-- "+ StubArtist" StubArtist
|
|
|
|
|
StubManager *-- "+ StubPlaylist" StubPlaylist
|
|
|
|
|
StubManager *-- "+ StubAlbum" StubAlbum
|
|
|
|
|
StubManager *-- "+ StubInfoTitle" StubInfoTitle
|
|
|
|
|
StubManager *-- "+ StubCustomTitle" StubCustomTitle
|
|
|
|
|
StubManager .. InfoTitle
|
|
|
|
|
StubManager .. Artist
|
|
|
|
|
StubManager .. Album
|
|
|
|
|
StubManager .. CustomTitle
|
|
|
|
|
StubManager .. Playlist
|
|
|
|
|
|
|
|
|
|
LinqXmlSerialization --|> IDataManager
|
|
|
|
|
LinqXmlSerialization o-- "+ Artists*" Artist
|
|
|
|
|
LinqXmlSerialization o-- "+ Albums*" Album
|
|
|
|
|
LinqXmlSerialization o-- "+ Playlists*" Playlist
|
|
|
|
|
LinqXmlSerialization o-- "+ Infotitles*" InfoTitle
|
|
|
|
|
LinqXmlSerialization o-- "+ Customtitles*" CustomTitle
|
|
|
|
|
|
|
|
|
|
IDataManager .. Album
|
|
|
|
|
IDataManager .. Artist
|
|
|
|
|
IDataManager .. InfoTitle
|
|
|
|
|
IDataManager .. CustomTitle
|
|
|
|
|
IDataManager .. Playlist
|
|
|
|
|
IDataManager .. Genre
|
|
|
|
|
|
|
|
|
|
@enduml
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|