#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package RPS::Catalog::AdditionalArtistHash;

use strict;
use warnings;

use lib '/app/tools/rps/lib';
use RPS::DB::Item::Artist;

use Common::FormObject;
use base 'Common::FormHash';

use Data::Dumper;

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

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

sub _tagName { 'AdditionalArtist' }

sub _keyMethodName { 'hashKey' }

sub _getItemCollection { die "not overloaded" }

sub _getNewObject { die "not overloaded" }

sub _getObjectFromDBItem { die "not overloaded" }

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

    foreach my $key ( sort keys %{ $self->{AdditionalArtist} } ) {
        $self->{AdditionalArtist}->{$key}->save( %args, key => $key );
    }
}

sub validate {
    my ( $self, %args ) = @_;
    my $valid = 1;

    foreach my $key ( keys %{ $self->{AdditionalArtist} } ) {
        $valid = undef
          unless ( $self->{AdditionalArtist}->{$key}->validate( %args, key => $key ) );
    }

    return $valid;
}

1;
