Advertisement
lllincolncunha

Musiteca

Jul 30th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.75 KB | None | 0 0
  1. package sp2fy;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.HashSet;
  6. import java.util.Set;
  7.  
  8. public class Musiteca {
  9.     //atributos
  10.     private Set<Album> meusAlbuns;
  11.     private Set<Album> meusFavoritos;
  12.     private HashMap<String, ArrayList<Musica>> mapaPlaylist;
  13.    
  14.     //construtor
  15.     public Musiteca(){
  16.         meusAlbuns = new HashSet<Album>();
  17.         meusFavoritos = new HashSet<Album>();
  18.         mapaPlaylist = new HashMap<String, ArrayList<Musica>>();
  19.     }
  20.    
  21.        
  22.     public Album getAlbum(String tituloAlbum){
  23.         Album albumRetornado;
  24.         for(Album album : meusAlbuns){
  25.             if(album.getTitulo().equalsIgnoreCase(tituloAlbum)){
  26.                 albumRetornado = album;
  27.                 return albumRetornado;
  28.             }
  29.         }
  30.         return null;
  31.     }
  32.    
  33.     public boolean addAlbum(Album album){
  34.         if(album == null || meusAlbuns.contains(album) == true){
  35.             return false;
  36.         }else{
  37.          this.meusAlbuns.add(album);
  38.          return true;
  39.          } 
  40.     }
  41.    
  42.     public boolean contemAlbum(Album album){
  43.         return meusAlbuns.contains(album);
  44.     }
  45.    
  46.     public boolean removeAlbum(String tituloAlbum){
  47.         for(Album album : meusAlbuns){
  48.             if(album.getTitulo().equalsIgnoreCase(tituloAlbum)){
  49.                 return meusAlbuns.remove(album);
  50.             }
  51.            
  52.         }
  53.         return false;
  54.     }
  55.    
  56.     public boolean addMusicaEmAlbum(String tituloAlbum, String tituloMusica, int duracaoMusica, String generoMusica)throws Exception{
  57.         for(Album album : meusAlbuns){
  58.             if(album.getTitulo().equalsIgnoreCase(tituloAlbum)){
  59.                 album.addMusica(tituloMusica, duracaoMusica, generoMusica);
  60.                 return true;
  61.             }
  62.         }
  63.         return false;  
  64.     }
  65.    
  66.     public void getMusicaDeAlbuns(String musica) throws Exception {
  67.         if (musica == null || musica.trim().isEmpty()) {
  68.             throw new Exception("Titulo da musica nao pode ser nulo ou vazio.");
  69.         }
  70.     }
  71.  
  72.     public boolean removeMusicaDeAlbum(String tituloAlbum, String tituloMusica){
  73.         for(Album album : meusAlbuns){
  74.             if(album.getTitulo().equalsIgnoreCase(tituloAlbum)){
  75.                 int indice = album.indiceMusica(tituloMusica);
  76.                 album.removeMusica(indice);
  77.                 return true;
  78.             }
  79.         }
  80.         return false;
  81.     }
  82.    
  83.     public boolean addAosFavoritos(Album album){
  84.         if(album != null && meusFavoritos.contains(album) == false){
  85.             meusFavoritos.add(album);
  86.             return true;
  87.         }
  88.         return false;
  89.     }
  90.    
  91.     public boolean unfavoriteAlbum(String tituloAlbum){
  92.         for(Album album1 : meusFavoritos){
  93.             if(album1.getTitulo().equalsIgnoreCase(tituloAlbum)){
  94.                 meusFavoritos.remove(album1);
  95.                 return true;
  96.             }
  97.         }
  98.         return false;
  99.     }
  100.    
  101.     public int getQtdFavoritos(){
  102.         return meusFavoritos.size();
  103.     }
  104.    
  105.     public Set<Album> getAlbunsFavoritos(){
  106.         return meusFavoritos;
  107.        
  108.     }
  109.    
  110.     public boolean criaPlaylist(String nome){
  111.         if(nome != null && nome.trim().isEmpty() == false && this.contemPlaylist(nome) == false){
  112.             this.mapaPlaylist.put(nome, new ArrayList<Musica>());
  113.             return true;
  114.         }else{
  115.             return false;
  116.         }
  117.        
  118.     }
  119.    
  120.     public boolean contemPlaylist(String nome){
  121.         return mapaPlaylist.containsKey(nome);
  122.     }
  123.    
  124.     public boolean addNaPlaylist(String nomePlaylist, String nomeAlbum, int faixa){
  125.         for(Album album : meusAlbuns){
  126.             if(album.getTitulo().equalsIgnoreCase(nomeAlbum)){
  127.                 mapaPlaylist.get(nomePlaylist).add(album.getMusicaPorIndice(faixa));
  128.                 return true;
  129.             }
  130.         }
  131.         return false;
  132.     }
  133.    
  134.     // O nome to metodo estΓ‘ com 'Pay' nos testes, por isso deixei igual
  135.     public boolean contemNaPaylist(String nomePlaylist, String nomeMusica){
  136.         if(nomePlaylist != null && mapaPlaylist.containsKey(nomePlaylist) == true){
  137.             boolean contemMusica = mapaPlaylist.get(nomePlaylist).contains(nomeMusica);
  138.             return contemMusica;
  139.         }else{
  140.         return false;
  141.         }
  142.     }
  143.    
  144.     public int getTamPlaylist(String nomePlaylist){
  145.         int tamanhoPlaylist = mapaPlaylist.get(nomePlaylist).size();
  146.         return tamanhoPlaylist;
  147.     }
  148.  
  149.  
  150.    
  151.    
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement