#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Track::TrackListSimple;

use strict;
use warnings;

use lib '/app/tools/rps/lib';
use RPS::DB::Item::Track;
use RPS::Track::TrackSimple;
use Common::FormObject;
use base 'Common::FormObject';


use Data::Dumper;

sub _init
{
    my ($self, %args) = @_;

    $self->SUPER::_init(%args);

	my $albumID = $args{albumID};

    $self->{Track} = [];
	if ($albumID)
	{
	    my $licenseType = $self->_licenseType();
		my $trackCollection = RPS::DB::Item::Track->GetTracksByAlbumIDFiltered(
								$albumID, $licenseType, %args );

		while ($trackCollection->hasNext())
		{
			my $trackObj = $trackCollection->next();

			push @{$self->{Track}}, $self->_getTrackXML($trackObj);
		}
	}

    return $self;
}

sub _licenseType
{
    # Overwrite this when necessary.
    return;
}

sub _getTrackXML
{
    my ($self, $trackDBObj) = @_;
    return RPS::Track::TrackSimple->new(_dbItem => $trackDBObj);
}

sub _listProperties
{
    return
    {
        Track => 1
    };
}


sub getTracks
{
	my ($self) = @_;

	return $self->{Track};
}

1;
