/**
*
* TURTLE PLAYER
*
* Licensed under MIT & GPL
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
* OR OTHER DEALINGS IN THE SOFTWARE.
*
* More Information @ www.turtle-player.co.uk
*
* @author Simon Honegger (Hoene84)
*/
package com.turtleplayer.model;
public class Track extends FSobject implements Album, Artist, Genre, Song
{
private final int number;
//private String number;
private final Artist artist;
private final Album album;
private final Genre genre;
private final Song song;
public Track(
Song song,
Artist artist,
Album album,
Genre genre,
int number,
String path)
{
super(path);
this.song = song;
this.number = number;
this.artist = artist;
this.album = album;
this.genre = genre;
}
public Track(
Song song,
Artist artist,
Album album,
Genre genre,
int number,
String dir,
String name)
{
super(dir, name);
this.song = song;
this.number = number;
this.artist = artist;
this.album = album;
this.genre = genre;
}
public int GetNumber()
{
return number;
}
public Song getSong()
{
return song;
}
public Artist GetArtist()
{
return artist;
}
public Album GetAlbum()
{
return album;
}
public Genre GetGenre()
{
return genre;
}
public String getAlbumId()
{
return album.getAlbumId();
}
public String getAlbumName()
{
return album.getAlbumName();
}
public String getArtistId()
{
return artist.getArtistId();
}
public String getArtistName()
{
return artist.getArtistName();
}
public String getGenreId()
{
return genre.getGenreId();
}
public String getGenreName()
{
return genre.getGenreName();
}
public String getSongId()
{
return song.getSongId();
}
public String getSongName()
{
return song.getSongName();
}
public <R> R accept(InstanceVisitor<R> visitor)
{
return visitor.visit(this);
}
}