/**
* QuiltPlayer v1.0 Copyright (C) 2008-2009 Vlado Palczynski
* vlado.palczynski@quiltplayer.com http://www.quiltplayer.com This program is
* free software; you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by the Free Software Foundation;
* either version 2 of the License, or (at your option) any later version. This
* program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*/
package com.quiltplayer.model;
/**
* @author Vlado Palczynski
*/
public interface Song {
String TYPE_FILE = "file";
String TYPE_SPOTIFY = "spotify";
/**
* @param songId
* the songId to set.
*/
void setId(StringId songId);
/**
* @return the id.
*/
StringId getId();
/**
* @param spotifyId
* the spotifyId to set.
*/
void setSpotifyId(String spotifyId);
/**
* @return the spotifyId.
*/
String getSpotifyId();
/**
* @return the album.
*/
Album getAlbum();
/**
* @param album
* the album to set.
*/
void setAlbum(Album album);
/**
* @return the title
*/
String getTitle();
/**
* @param title
* the title to set
*/
void setTitle(String title);
/**
* @return the path
*/
String getPath();
/**
* @param path
* the path to set
*/
void setPath(String path);
/**
* @return the trackNumber
*/
Number getTrackNumber();
/**
* @param trackNumber
* the trackNumber to set
*/
void setTrackNumber(Number trackNumber);
/**
* @return the fileName
*/
String getFileName();
/**
* @param fileName
* the fileName to set
*/
void setFileName(String fileName);
void setType(String type);
String getType();
/**
* @return the duration of the song in seconds.
*/
int getDuration();
/**
* Set the length of the song in seconds.
*
* @param duration
* the length to set.
*/
void setDuration(int duration);
}