package ar.edu.unrc.exa.dc.dose2016.riocuartobandasderock.dao;

import java.util.List;
//import java.util.Date;
import ar.edu.unrc.exa.dc.dose2016.riocuartobandasderock.model.Album;
import ar.edu.unrc.exa.dc.dose2016.riocuartobandasderock.model.Song;

/**
 * @author Dose Team 2016
 */

public interface AlbumDAO {
	
	/**
	 * @param id
	 * @return 
	 */
	public Album findById(String id);
	
	/**
	 * @return All albums 
	 */
	public List<Album> getAllAlbums();	
	
	/**
	 * @param bandName
	 * @return 
	 */
	public List<Album> findByBandName(String bandName);
	
	/**
	 * @param name
	 * @return  
	 */ 
	public Album findByName(String name);
	
	/**
	 * @param year
	 * @return
	 */
	public List<Album> findByYear(int year);
	
	/**
	 * @param genere
	 * @return
	 */
	public List<Album> findByGenere(String genere);

	/**
	 * @param recordLabel
	 * @return
	 */
	public List<Album> findByRecordLabel(String recordLabel);
	
	/**
	 * @param producer
	 * @return
	 */
	public List<Album> findByProducer(String producer);
	
	/**
	 * @param duration
	 * @return
	 */
	public List<Album> findByDuration(int duration);
	
	/**
	 * @param song
	 * @return
	 */
	public List<Album> findBySong(Song song);
	
//	/**
//	 * @param releaseDate
//	 * @return
//	 */
//	public List<Album> findByReleaseDate(Date releaseDate);
	
//	/**
//	 * @param recordDate
//	 * @return
//	 */
//	public List<Album> findByRecordDate(Date recordDate);
	
	/**
	 * @param album
	 */
	public void createAlbum(Album album);
	
	/**
	 * @param album
	 */
	public void updateAlbum(Album album);
	
	/**
	 * @param album
	 */
	public void deleteAlbum(Album album);
	
}

@@ -178,77 +178,8 @@
 bum;
-%0Aimport ar.edu.unrc.exa.dc.dose2016.riocuartobandasderock.model.Song;
 %0A%0A/*
@@ -560,37 +560,41 @@
 String name);%0A%09%0A
+//
 %09/**%0A
+//
 %09 * @param year%0A
@@ -593,16 +593,18 @@
 am year%0A
+//
 %09 * @ret
@@ -599,37 +599,41 @@
 r%0A//%09 * @return%0A
+//
 %09 */%0A
+//
 %09public List%3CAlb
@@ -1117,17 +1117,19 @@
 BySong(S
-o
+tri
 ng song)
@@ -1392,20 +1392,23 @@
 %09public 
-void
+boolean
  createA
@@ -1463,20 +1463,23 @@
 %09public 
-void
+boolean
  updateA
@@ -1538,12 +1538,15 @@
 lic 
-void
+boolean
  del

fix profiles methods crud